home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / inter54a.zip / INTERRUP.D < prev    next >
Text File  |  1997-06-29  |  358KB  |  10,636 lines

  1. Interrupt List, part 4 of 16
  2. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997 Ralf Brown
  3. --------b-166F00-----------------------------
  4. INT 16 - HP Vectra EX-BIOS - "F16_INQUIRE" - Extended BIOS INSTALLATION CHECK
  5.     AX = 6F00h
  6.     BX <> 4850h (usually set to 0000h for simplicity)
  7. Return: BX = 4850h ("HP") if present
  8. Notes:    called by recent MS Mouse drivers looking for an HP-HIL mouse
  9.     supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
  10. SeeAlso: AX=6F01h,AX=6F04h,AX=6F07h,AX=6F09h,AX=6F0Dh,AX=6F11h,AX=6F12h
  11. SeeAlso: INT 14/AX=6F00h,INT 17/AX=6F00h,INT 33/AX=6F00h
  12. SeeAlso: INT 6F/AH=00h"HP Vectra"
  13. --------b-166F01-----------------------------
  14. INT 16 - HP Vectra EX-BIOS - "F16_DEF_ATTR" - GET DEFAULT TYPEMATIC VALUES
  15.     AX = 6F01h
  16. Return: AH = 00h (successful)
  17.     CX = 0004h (size of returned buffer)
  18.     ES:SI -> buffer for typematic info (see #0513)
  19. Note:    supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
  20. SeeAlso: AX=6F00h,AX=6F02h,AX=6F03h,AX=6F04h
  21.  
  22. Format of HP Vectra EX-BIOS typematic info:
  23. Offset    Size    Description    (Table 0513)
  24.  00h    BYTE    delay before repeat for all non-Cursor Control Pad keys
  25.         (see #0514)
  26.  01h    BYTE    typematic rate for all non-Cursor Control Pad keys (see #0515)
  27.  02h    BYTE    delay before repeat for Cursor Control Pad keys    (see #0516)
  28.  03h    BYTE    typematic rate for Cursor Control Pad keys (see #0515)
  29.  
  30. (Table 0514)
  31. Values for HP Vectra EX-BIOS non-CCP delay time:
  32.  00h    17 ms
  33.  01h    150 ms
  34.  02h    283 ms
  35.  03h    417 ms
  36.  04h    550 ms
  37.  05h    683 ms
  38.  06h    817 ms
  39.  07h    950 ms
  40.  08h    1083 ms
  41.  09h    1217 ms
  42.  0Ah    1350 ms
  43.  0Bh    1483 ms
  44.  0Ch    1617 ms
  45.  0Dh    1750 ms
  46.  0Eh    1883 ms
  47.  0Fh    2017 ms
  48. Note:    the above values assume that the key repeat rate has been set to 60 Hz;
  49.       double the times if set to 30 Hz
  50. SeeAlso: #0513,#0515,#0516
  51.  
  52. (Table 0515)
  53. Values for HP Vectra EX-BIOS typematic rate:
  54.  00h    60 / sec
  55.  01h    30 / sec
  56.  02h    20
  57.  03h    15
  58.  04h    12
  59.  05h    10
  60.  06h    8.57
  61.  07h    7.5
  62.  08h    6.66
  63.  09h    6 / sec
  64.  0Ah    5.45
  65.  0Bh    5
  66.  0Ch    4.62
  67.  0Dh    4.28
  68.  0Eh    4 / sec
  69.  0Fh    typematic disabled
  70. Note:    the above values assume that the key repeat rate has been set to 60 Hz;
  71.       halve the rates if set to 30 Hz
  72. SeeAlso: #0514,#0516
  73.  
  74. (Table 0516)
  75. Values for HP Vectra EX-BIOS CCP delay time:
  76.  00h    17 ms
  77.  01h    83 ms
  78.  02h    150 ms
  79.  03h    217 ms
  80.  04h    283 ms
  81.  05h    350 ms
  82.  06h    417 ms
  83.  07h    483 ms
  84.  08h    550 ms
  85.  09h    617 ms
  86.  0Ah    683 ms
  87.  0Bh    750 ms
  88.  0Ch    817 ms
  89.  0Dh    883 ms
  90.  0Eh    950 ms
  91.  0Fh    1017 ms
  92. Note:    the above values assume that the key repeat rate has been set to 60 Hz;
  93.       double the times if set to 30 Hz
  94. SeeAlso: #0514,#0515
  95. --------b-166F02-----------------------------
  96. INT 16 - HP Vectra EX-BIOS - "F16_GET_ATTR" - GET CURRENT TYPEMATIC VALUES
  97.     AX = 6F02h
  98. Return: AH = 00h (successful)
  99.     CX = 0004h (size of returned buffer)
  100.     ES:SI -> buffer for typematic info (see #0513)
  101. Note:    supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
  102. SeeAlso: AX=6F00h,AX=6F02h,AX=6F03h,AX=6F04h
  103. SeeAlso: AX=6F00h,AX=6F01h,AX=6F03h
  104. --------b-166F03-----------------------------
  105. INT 16 - HP Vectra EX-BIOS - "F16_SET_ATTR" - SET TYPEMATIC VALUES
  106.     AX = 6F03h
  107.     ES:SI -> buffer containing typematic info (see #0513)
  108. Return: AH = 00h (successful)
  109. Note:    supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
  110. SeeAlso: AX=6F00h,AX=6F02h,AX=6F03h,AX=6F04h
  111. SeeAlso: AX=6F00h,AX=6F01h,AX=6F02h
  112. --------b-166F04-----------------------------
  113. INT 16 - HP Vectra EX-BIOS - "F16_DEF_MAPPING" - GET DEFAULT KEY MAPPINGS
  114.     AX = 6F04h
  115.     ES:SI -> mapping buffer (see #0517)
  116. Return: AH = 00h (successful)
  117.     CX = 001Eh (number of bytes in buffer)
  118.     ES:SI buffer filled
  119. Notes:    supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
  120.     the HIL input system translates the HIL keyboard events to simulate
  121.       an IBM-compatible keyboard; the translation can be altered
  122.       dynamically by applications
  123. SeeAlso: AX=6F00h,AX=6F05h,AX=6F06h
  124.  
  125. Format of HP Vectra EX-BIOS keyboard mapping info:
  126. Offset    Size    Description    (Table 0517)
  127.  00h  3 WORDs    entry for V_QWERTY driver (IP, CS, DS)
  128.  06h  3 WORDs    entry for V_SOFTKEY driver (IP, CS, DS)
  129.  0Ch  3 WORDs    entry for V_FUNCTION driver
  130.  12h  3 WORDs    entry for V_NUMPAD driver
  131.  18h  3 WORDs    entry for V_CCP driver
  132. --------b-166F05-----------------------------
  133. INT 16 - HP Vectra EX-BIOS - "F16_GET_MAPPING" - GET CURRENT KEY MAPPINGS
  134.     AX = 6F05h
  135.     ES:SI -> mapping buffer (see #0517)
  136. Return: AH = 00h (successful)
  137.     CX = 001Eh (number of bytes in buffer)
  138.     ES:SI buffer filled
  139. Note:    supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
  140. SeeAlso: AX=6F04h,AX=6F06h
  141. --------b-166F06-----------------------------
  142. INT 16 - HP Vectra EX-BIOS - "F16_SET_MAPPING" - SET KEY MAPPINGS
  143.     AX = 6F06h
  144.     CX = number of bytes in buffer (001Eh)
  145.     ES:SI -> mapping buffer (see #0517)
  146. Return: AH = 00h (successful)
  147. Notes:    supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
  148.     any application which modifies the key mappings should restore them
  149.       before terminating
  150.     drivers installed with this function are assured of 32 bytes of stack
  151.       space when they are invoked
  152. SeeAlso: AX=6F04h,AX=6F05h,AX=6F07h
  153. --------b-166F07-----------------------------
  154. INT 16 - HP Vectra EX-BIOS - "F16_SET_XLATORS" - SET CCP AND SOFTKEY PADS
  155.     AX = 6F07h
  156.     BL = translation to set (see #0518)
  157. Return: AH = 00h (successful)
  158. Notes:    supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
  159.     this function may no longer work properly if the application has
  160.       modified the key mappings with AX=6F06h
  161. SeeAlso: AX=6F06h,AX=6F09h
  162.  
  163. (Table 0518)
  164. Values for HP Vectra keyboard translation specifier:
  165.  00h    map V_CCP to V_CCPCUR, forcing the cursor pad to return cursor keys
  166.  01h    map V_CCP to V_CCPNUM, forcing the cursor pad to always return numbers
  167.  02h    map V_CCP to V_OFF, disabling the cursor pad
  168.  03h    map V_CCP to V_CCPGID, converting cursor pad keys to GID data
  169.  04h    map V_CCP to V_RAW, passing cursor pad data untranslated to INT 09
  170.  05h    map V_SOFTKEY to V_SKEY2KFEY, translating into standard function keys
  171.  06h    map V_SOFTKEY to V_RAW, passing Softkey scancodes direct to INT 09
  172.  07h    map V_SOFTKEY to V_OFF, disabling HP Softkeys
  173. SeeAlso: #0519
  174.  
  175. (Table 0519)
  176. Values for HP Vectra scancodes and BIOS keycodes for V_RAW translator:
  177.           INT 09         INT 16 keycode
  178.     Key         scan code    Default     Shifted   Ctrl         Alt
  179.  * (NumPd)    37h    2Ah     (Prt Sc)  00/72h    00/37H
  180.  Sysreq        54h      --     --       --         --
  181.  CCP-Up        60h    00/D9h     00/BFh       00/A5h    00/8BH
  182.  CCP-Left    61h    00/DAh     00/C0h       00/A6h    00/8CH
  183.  CCP-Down    62h    00/DBh     00/C1h       00/A7h    00/8DH
  184.  CCP-Right    63h    00/DCh     00/C2h       00/A8h    00/8EH
  185.  CCP-Home    64h    00/DDh     00/C3h       00/A9h    00/8FH
  186.  CCP-PgUp    65h    00/DEh     00/C4h       00/AAh    00/90H
  187.  CCP-End    66h    00/DFh     00/C5h       00/ABh    00/91H
  188.  CCP-PgDn    67h    00/E0h     00/C6h       00/ACh    00/92H
  189.  CCP-Ins    68h    00/E1h     00/C7h       00/ADh    00/93H
  190.  CCP-Del    69h    00/E2h     00/C8h       00/AEh    00/94H
  191.  CCP-CNTR    6Ah    00/E3h     00/C9h       00/AFh    00/95H
  192.  f1        70h    00/E9h     00/CFh       00/B5h    00/9BH
  193.  f2        71h    00/EAh     00/D0h       00/B6h    00/9CH
  194.  f3        72h    00/EBh     00/D1h       00/B7h    00/9DH
  195.  f4        73h    00/ECh     00/D2h       00/B8h    00/9EH
  196.  f5        74h    00/EDh     00/D3h       00/B9h    00/9FH
  197.  f6        75h    00/EEh     00/D4h       00/BAh    00/A0H
  198.  f7        76h    00/EFh     00/D5h       00/BBh    00/A1H
  199.  f8        77h    00/F0h     00/D6h       00/BCh    00/A2H
  200. Note:    only HP-specific codes are listed in this table; see INT 09 for a full
  201.       list of standard scan codes
  202. SeeAlso: #0005,#0518
  203. --------b-166F08-----------------------------
  204. INT 16 - HP Vectra EX-BIOS - "F16_KBD" - GET KEYBOARD INFORMATION
  205.     AX = 6F08h
  206. Return: AH = status
  207.        00h successful
  208.        02h unsupported (non-HIL, i.e. standard, keyboard)
  209.     BH = HP-HIL address (HP Vectra AT only???)
  210.     BL = HP-HIL ID (HP Vectra AT only???)
  211.     BL = keyboard language (ES/QS/RS only???) (see #0520)
  212. Notes:    supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
  213.     the driver's address in the HP_VECTOR_TABLE (see INT 6F/AH=00h) may
  214.       be computed as (BH-1)*6 + N, where N is the address of the first
  215.       HP-HIL device driver (see INT 6F/AH=0Ah"F_INQUIRE_FIRST")
  216. SeeAlso: AX=6F05h,AX=6F09h,INT 6F/AH=0Ah"F_INQUIRE_FIRST"
  217.  
  218. (Table 0520)
  219. Values for HP HIL keyboard language code:
  220.  00h    reserved
  221.  01h    Arabic-French
  222.  02h    Kanji
  223.  03h    Swiss-French
  224.  04h    Portugese
  225.  05h    Arabic
  226.  06h    Hebrew
  227.  07h    Canadian-English
  228.  08h    Turkish
  229.  09h    Greek
  230.  0Ah    Thai
  231.  0Bh    Italian
  232.  0Ch    Hangul (Korean)
  233.  0Dh    Dutch
  234.  0Eh    Swedish
  235.  0Fh    German
  236.  10h    Chinese (PRC)
  237.  11h    Chinese (Taiwan)
  238.  12h    Swiss (French ii)
  239.  13h    Spanish
  240.  14h    Swiss (German ii)
  241.  15h    Belgian (Flemish)
  242.  16h    Finish
  243.  17h    United Kingdom
  244.  18h    French-Canadian
  245.  19h    French-German
  246.  1Ah    Norwegian
  247.  1Bh    French
  248.  1Ch    Danish
  249.  1Dh    Katakana
  250.  1Eh    Latin American Spanish
  251.  1Fh    United States-American
  252.  20h-FEh reserved
  253.  FFh    non-HP keyboard (IBM AT keyboard and IBM Enhanced keyboard)
  254. --------b-166F09-----------------------------
  255. INT 16 - HP Vectra EX-BIOS - "F16_KBD_RESET" - RESET KEYBOARD TO DEFAULTS
  256.     AX = 6F09h
  257. Return: AH = 00h (successful)
  258. Desc:    reset all keyboard mappings to their default translators, and reset
  259.       typematic values to their defaults
  260. Note:    supported by the original HP Vectra AT and ES/QS/RS series HP Vectras
  261. SeeAlso: AX=6F04h,AX=6F07h,AX=6F08h
  262. --------b-166F0A-----------------------------
  263. INT 16 - HP Vectra ES/QS/RS EX-BIOS - READ PROCESSOR SPEED
  264.     AX = 6F0Ah
  265. Return: AH = 00h (successful)
  266.     BX = speed code
  267.         0Bh for low speed (see #0521)
  268.         12h for medium speed (see #0521)
  269.         0Ch for high speed (see #0521)
  270. Note:    supported by ES, QS, and RS series of HP Vectras
  271. SeeAlso: AX=6F00h
  272.  
  273. (Table 0521)
  274. Values for HP Vetra CPU speed:
  275.     Vectra        Low        Medium    High
  276.     ES        8 MHz         -         8 MHz
  277.     ES/12        8 MHz         -        12 MHz
  278.     QS/16, RS/16    8 MHz         -        16 MHz
  279.     QS/16S        8 MHz         -        16 MHz
  280.     QS/20, RS/20    8 MHz         -        20 MHz
  281.     RS/20C        5 MHz        10 MHz    20 MHz
  282.     RS/25C        5 MHz        12.5 MHz    25 MHz
  283. --------b-166F0B-----------------------------
  284. INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET PROCESSOR SPEED TO LOW
  285.     AX = 6F0Bh
  286. Return: AH = 00h (successful)
  287. Notes:    see AX=6F0Ah for speed definitions
  288.     supported by ES, QS, and RS series of HP Vectras
  289. SeeAlso: AX=6F00h,AX=6F0Ah
  290. --------b-166F0C-----------------------------
  291. INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET PROCESSOR SPEED TO HIGH
  292.     AX = 6F0Ch
  293. Return: AH = 00h (successful)
  294. Notes:    see AX=6F0Ah for speed definitions
  295.     supported by ES, QS, and RS series of HP Vectras
  296. SeeAlso: AX=6F00h,AX=6F0Ah
  297. --------b-166F0D-----------------------------
  298. INT 16 - HP Vectra ES/QS/RS EX-BIOS - GET HIL Extended BIOS INTERRUPT NUMBER
  299.     AX = 6F0Dh
  300. Return: AH = interrupt number (default 6Fh, 02h means 6Fh as well)
  301. Notes:    supported by ES, QS, and RS series of HP Vectras
  302.     called by MS Windows HPSYSTEM.DRV and HPEBIOS.386 to support the HP-HIL
  303.       input system
  304. SeeAlso: AX=6F00h,AX=6F0Eh,INT 6F/AH=00h"HP Vectra",INT 6F/AH=0Ah"HP"
  305. --------b-166F0E-----------------------------
  306. INT 16 - HP Vectra ES/QS/RS EX-BIOS - SET HIL Extended BIOS INTERRUPT NUMBER
  307.     AX = 6F0Eh
  308.     BL = new interrupt number (60h-6Fh,78h-7Fh)
  309. Return: AH = status (00h = successful)
  310. Desc:    allows the HIL Extended BIOS software to use a non-default interrupt
  311.       number in case of an interrupt conflict with another application
  312. Notes:    supported by ES, QS, and RS series of HP Vectras
  313.     called by MS Windows HPSYSTEM.DRV and HPEBIOS.386 to support the HP-HIL
  314.       input system
  315. SeeAlso: AX=6F00h,AX=6F0Dh,INT 6F/AH=00h"HP",INT 6F/AH=0Ah"HP"
  316. --------b-166F0F-----------------------------
  317. INT 16 - HP Vectras RS/20C and RS/25C - ENABLE MEMORY CACHING
  318.     AX = 6F0Fh
  319. Return: AH = status
  320.         00h successful
  321.         FEh cache subsystem is bad
  322. SeeAlso: AX=6F00h,AX=6F10h,AX=6F11h
  323. --------b-166F10-----------------------------
  324. INT 16 - HP Vectras RS/20C and RS/25C - DISABLE MEMORY CACHING
  325.     AX = 6F10h
  326. Return: AH = 00h (successful)
  327. SeeAlso: AX=6F00h,AX=6F0Fh,AX=6F11h
  328. --------b-166F11-----------------------------
  329. INT 16 - HP Vectras RS/20C and RS/25C - GET MEMORY CACHING STATE
  330.     AX = 6F11h
  331. Return: AH = 00h (successful)
  332.     AL bit 0 = cache state
  333.         0 cache disabled
  334.         1 cache enabled
  335. SeeAlso: AX=6F00h,AX=6F0Fh,AX=6F10h
  336. --------b-166F12-----------------------------
  337. INT 16 - HP Vectras RS/20C and RS/25C - SET PROCESSOR SPEED TO MEDIUM
  338.     AX = 6F12h
  339. Return: AH = 00h (successful)
  340. Note:    see AX=6F0Ah for speed definitions
  341. SeeAlso: AX=6F00h,AX=6F0Ah
  342. --------K-1670-------------------------------
  343. INT 16 - FAKEY.COM - INSTALLATION CHECK
  344.     AH = 70h
  345. Return: AX = 1954h if installed
  346. Program: FAKEY is a keystroke faking utility by System Enhancement Associates
  347. --------K-1671-------------------------------
  348. INT 16 - FAKEY.COM - PUSH KEYSTROKES
  349.     AH = 71h
  350.     CX = number of keystrokes
  351.     DS:SI -> array of words containing keystrokes to be returned by AH=00h
  352. Program: FAKEY is a keystroke faking utility by System Enhancement Associates
  353. SeeAlso: AH=05h,AH=72h
  354. --------K-1672-------------------------------
  355. INT 16 - FAKEY.COM - CLEAR FAKED KEYSTROKES
  356.     AH = 72h
  357. Program: FAKEY is a keystroke faking utility by System Enhancement Associates
  358. SeeAlso: AH=71h
  359. --------K-1673-------------------------------
  360. INT 16 - FAKEY.COM - PLAY TONES
  361.     AH = 73h
  362.     CX = number of tones to play
  363.     DS:SI -> array of tones (see #0522)
  364. Program: FAKEY is a keystroke faking utility by System Enhancement Associates
  365. SeeAlso: INT 15/AX=1019h
  366.  
  367. Format of FAKEY.COM tone array entries:
  368. Offset    Size    Description    (Table 0522)
  369.  00h    WORD    divisor for timer channel 2
  370.  02h    WORD    duration in clock ticks
  371. --------i-167463-----------------------------
  372. INT 16 U - FastJuice - INSTALLATION CHECK
  373.     AX = 7463h ("tc")
  374. Return: AX = 5443h ("TC") if installed
  375. Program: FastJuice is a resident battery-power monitor by SeaSide Software
  376. SeeAlso: AX=6A6Bh
  377. --------R-1675-------------------------------
  378. INT 16 - pcANYWHERE III - SET TICK COUNT FOR SCANNING
  379.     AH = 75h
  380.     AL = number of ticks between checks for new screen changes
  381. --------R-1676-------------------------------
  382. INT 16 - pcANYWHERE III - SET ERROR CHECKING TYPE
  383.     AH = 76h
  384.     AL = error checking type
  385.         00h none
  386.         01h fast
  387.         02h slow
  388. --------R-1677-------------------------------
  389. INT 16 - pcANYWHERE III - LOG OFF
  390.     AH = 77h
  391.     AL = mode
  392.         00h wait for another call
  393.         01h leave in Memory Resident Mode
  394.         02h leave in Automatic Mode
  395.         FFh leave in current operating mode
  396. --------U-167761-----------------------------
  397. INT 16 - WATCH.COM v2.x-v3.0 - INSTALLATION CHECK
  398.     AX = 7761h ('wa')
  399. Return: AX = 5741h ('WA') if installed
  400. Note:    WATCH.COM is part of the "TSR" package by Kim Kokkonen
  401. SeeAlso: INT 21/AX=7761h
  402. --------U-167788BX7789-----------------------
  403. INT 16 - PC Magazine PUSHDIR.COM - INSTALLATION CHECK
  404.     AX = 7788h
  405.     BX = 7789h
  406.     DS:SI -> signature "PUSHDIR VERSION 1.0"
  407. Return: AX = 7789h if installed and signature correct
  408.     BX = 7788h
  409.     SI destroyed
  410. --------R-1679-------------------------------
  411. INT 16 - pcANYWHERE III - CHECK STATUS
  412.     AH = 79h
  413. Return: AX = status
  414.         FFFFh if resident and active
  415.         FFFEh if resident but not active
  416.         FFFDh if in Memory Resident mode
  417.         FFFCh if in Automatic mode
  418.         other value if not resident
  419. SeeAlso: AX=7B00h,INT 21/AX=2B44h
  420. --------R-167A-------------------------------
  421. INT 16 - pcANYWHERE III - CANCEL SESSION
  422.     AH = 7Ah
  423. --------R-167B00-----------------------------
  424. INT 16 - pcANYWHERE III - SUSPEND
  425.     AX = 7B00h
  426. SeeAlso: AH=79h,AX=7B01h
  427. --------R-167B01-----------------------------
  428. INT 16 - pcANYWHERE III - RESUME
  429.     AX = 7B01h
  430. SeeAlso: AH=79h,AX=7B00h
  431. --------R-167C-------------------------------
  432. INT 16 - pcANYWHERE III - GET PORT CONFIGURATION
  433.     AH = 7Ch
  434. Return: AH = port number
  435.     AL = baud rate (see #0523)
  436. SeeAlso: AX=7B00h,AH=7Eh
  437.  
  438. (Table 0523)
  439. Values for pcANYWHERE III baud rate:
  440.  00h    50 baud
  441.  01h    75 baud
  442.  02h    110 baud
  443.  03h    134.5 baud
  444.  04h    150 baud
  445.  05h    300 baud
  446.  06h    600 baud
  447.  07h    1200 baud
  448.  08h    1800 baud
  449.  09h    2000 baud
  450.  0Ah    2400 baud
  451.  0Bh    4800 baud
  452.  0Ch    7200 baud
  453.  0Dh    9600 baud
  454.  0Eh    19200 baud
  455. SeeAlso: #0228
  456. --------R-167D-------------------------------
  457. INT 16 - pcANYWHERE III - GET/SET TERMINAL PARAMETERS
  458.     AH = 7Dh
  459.     AL = subfunction
  460.         00h set terminal parameters
  461.         01h get terminal parameters
  462.         02h get configuration header and terminal parameters
  463.     DS:CX -> terminal parameter block
  464. SeeAlso: AH=7Ch,AH=7Eh
  465. --------R-167E-------------------------------
  466. INT 16 - pcANYWHERE III - COMMUNICATIONS I/O THROUGH PORT
  467.     AH = 7Eh
  468.     AL = subfunction
  469.         01h port input status
  470.         Return AX = 0 if no characer ready,
  471.                AX = 1 if character ready
  472.         02h port input character
  473.         Return AL = received character
  474.         03h port output character in CX
  475.         11h hang up phone
  476. SeeAlso: AH=7Ch
  477. --------R-167F-------------------------------
  478. INT 16 - pcANYWHERE III - SET KEYBOARD/SCREEN MODE
  479.     AH = 7Fh
  480.     AL = subfunction
  481.         00h enable remote keyboard only
  482.         01h enable host keyboard only
  483.         02h enable both keyboards
  484.         08h display top 24 lines
  485.         09h display bottom 24 lines
  486.         10h Hayes modem
  487.         11h other modem
  488.         12h direct connect
  489. --------U-1680-------------------------------
  490. INT 16 - MAKEY.COM - INSTALLATION CHECK
  491.     AH = 80h
  492. Return: AX = 1954h if installed
  493. Program: MAKEY is a utility by System Enhancement Associates
  494. --------K-1687-------------------------------
  495. INT 16 - DK.COM v1.03 - INSTALLATION CHECK
  496.     AH = 87h
  497. Return: AX = 4A57h ('JW') if installed
  498. Program: DK.COM is the resident part of a small keyboard macro utility
  499.       by Digital Mechanics.
  500. --------U-168765BX4321-----------------------
  501. INT 16 - AT.COM version 8/26/87 - API
  502.     AX = 8765h
  503.     BX = 4321h
  504.     CX = ??? or FFFFh
  505.     if CX = FFFFh
  506.         DX = number of event to remove or FFFFh
  507. Return: ES:BX -> event record array (see #0524)
  508. Program: AT.COM is a resident scheduler by Bill Frolik
  509.  
  510. Format of AT.COM event record:
  511. Offset    Size    Description    (Table 0524)
  512.  00h    BYTE    in-use flag (00h free, 01h in use, FFh end of array)
  513.  01h    BYTE    day of date on which to trigger
  514.  02h    BYTE    month of date on which to trigger
  515.  03h    BYTE    trigger time, minute
  516.  04h    BYTE    trigger time, hour
  517.  05h    WORD    offset of command to be executed
  518. --------K-1692-------------------------------
  519. INT 16 - KEYB.COM KEYBOARD CAPABILITIES CHECK (not an actual function!)
  520.     AH = 92h
  521. Return: AH <= 80h if enhanced keyboard functions (AH=10h-12h) supported
  522. Desc:    this function is called by the DOS 3.2 KEYBxx.COM and DOS 5+ KEYB.COM
  523.       to determine the highest supported keyboard function
  524. Note:    many BIOSes (including at least some versions of Phoenix and AMI) will
  525.       destroy AH on return from functions higher than AH=12h, returning
  526.       12h less than was in AH on entry (due to a chain of DEC/JZ
  527.       instructions)
  528. SeeAlso: AH=05h"PCjr",AH=A2h,INT 2F/AX=AD80h
  529. --------U-1699-------------------------------
  530. INT 16 - SCOUT v5.4 - GET ???
  531.     AH = 99h
  532. Return: AX = ABCDh
  533.     BX:CX -> ??? (appears to be start of PSP for resident portion)
  534. Program: Scout is a memory-resident file manager by New-Ware
  535. SeeAlso: AH=9Eh
  536. --------U-169E-------------------------------
  537. INT 16 - SCOUT v5.4 - INSTALLATION CHECK
  538.     AH = 9Eh
  539. Return: AX = ABCDh if installed
  540. Program: Scout is a memory-resident file manager by New-Ware
  541. SeeAlso: AH=99h
  542. --------K-16A2-------------------------------
  543. INT 16 - KEYB.COM KEYBOARD CAPABILITIES CHECK (not an actual function!)
  544.     AH = A2h
  545. Return: AH <= 80h if 122-key keyboard functions (AH=20h-22h) supported
  546. Desc:    this function is called by the DOS 3.2 KEYBxx.COM and DOS 5+ KEYB.COM
  547.       to determine the highest supported keyboard function
  548. Note:    many BIOSes (including at least some versions of Phoenix and AMI) will
  549.       destroy AH on return from functions higher than AH=12h, returning
  550.       12h less than was in AH on entry (due to a chain of DEC/JZ
  551.       instructions)
  552. SeeAlso: AH=05h"PCjr",AH=92h,INT 2F/AX=AD80h
  553. --------V-16AA-------------------------------
  554. INT 16 - PTxxx.COM - (xxx=CGA,EGA,VGA,HER...) CALL GATE FOR GRAPHICS
  555.     AH = AAh
  556.     Various registers set up by high level language.
  557. Return: Graphics performed
  558. Note:    PT stands for Paint Tools which is a graphics library for Turbo Pascal,
  559.       Modula 2 and others from DataBiten in Sweden. The library is
  560.       installed as a memory resident driver.
  561. --------U-16AABBBXEEFF-----------------------
  562. INT 16 U - JORJ v4.3 - INSTALLATION CHECK
  563.     AX = AABBh
  564.     BX = EEFFh
  565. Return: AX = EEFFh if installed
  566.     BX = AABBh if installed
  567.         CL = hotkey name (default 6Ah 'j' for Alt-J)
  568. Program: JORJ is a shareware dictionary with phonetic lookup by Jorj Software
  569.       Co.
  570. Index:    hotkeys;JORJ
  571. --------K-16AF20BX4B33-----------------------
  572. INT 16 - K3PLUS v6.00+ (API v2.0+) - GET EXTENDED BUFFER STATE
  573.     AX = AF20h
  574.     BX = 4B33h ('K3')
  575. Return: AX = K3 version (same as returned in BX by AX=AF4Dh)
  576.     ES:BX -> extended keyboard buffer start
  577.     ES:DX -> extended keyboard buffer end
  578.     ES:SI -> next keystroke
  579.     ES:DI -> last keystroke in buffer
  580.     CX = number of keystrokes in buffer
  581. Program: K3PLUS is an extended keyboard driver by Matthias Paul and Axel C.
  582.       Frinke, originally based on the K3 extended German keyboard driver
  583.       by Martin Gerdes published in c't magazine in 1988
  584. Note:    this function replaces the identical function AH=20h"K3"
  585. SeeAlso: AH=20h"K3",AX=AF25h,AX=AF4Dh,AX=AF50h,INT 2F/AX=ED58h
  586. --------K-16AF25BX4B33-----------------------
  587. INT 16 - K3PLUS v6.00+ (API v2.0+) - COPY INTO EXTENDED BUFFER
  588.     AX = AF25h
  589.     BX = 4B33h ('K3')
  590.     CX = number of keystrokes to copy
  591.     ES:SI -> buffer containing keystrokes
  592. Return: CF clear if successful
  593.     CF set on error (i.e. buffer full)
  594.         CX = number of keystrokes NOT transferred
  595.         ES:SI -> first keystroke not transferred
  596. Note:    this function replaces the identical function AH=25h"K3"
  597. SeeAlso: AH=25h"K3",AX=AF20h,AX=AF4Dh,AX=AF50h,INT 2F/AX=D44Fh/BX=0001h
  598. --------K-16AF4DBX4B33-----------------------
  599. INT 16 - K3PLUS v6.00+ (API v2.0+) - GET VERSION INFORMATION
  600.     AX = AF4Dh
  601.     BX = 4B33h ('K3')
  602. Return: AL = 50h if installed
  603.         BX = K3 version
  604.         DX = API version
  605.         ES:CX -> K3 structure (version-dependent) (see #0525)
  606. Program: K3PLUS is an extended keyboard driver by Matthias Paul and Axel C.
  607.       Frinke, originally based on the K3 extended German keyboard driver
  608.       by Martin Gerdes published in c't magazine in 1988
  609. SeeAlso: AX=AF20h,AX=AF50h,AX=AF80h,AX=AF82h/BX=4B33h,INT 2F/AX=D44Fh/BX=0000h
  610. SeeAlso: INT 2F/AX=ED58h
  611. Index:    installation check;K3PLUS
  612.  
  613. Format of internal K3 structure:
  614. Offset    Size    Description    (Table 0525)
  615.  00h  3 BYTEs    signature "K3$"
  616.  03h    BYTE    length of structure, including this byte and signature
  617.  04h    WORD    compiler switch option flags A (see #0526)
  618.  06h    WORD    compiler switch option flags B (see #0527)
  619.  08h    BYTE    internal flags A (see #0528)
  620.  09h    BYTE    internal flags B (see #0529)
  621.  0Ah    WORD    DOS version recorded at startup
  622.  0Ch    WORD    "ActTypeSpeed"
  623.  0Eh    WORD    last Keyboard-ID sent
  624.         41ABh translated, 83ABh native (pass-through)
  625.  10h    WORD    offset of K3TAB Special
  626.  12h    WORD    offset of K3TAB German
  627.  14h    WORD    offset of K3TAB Alt
  628.  16h    WORD    offset of K3TAB AltGr
  629.  18h    WORD    offset of K3TAB Ctrl
  630.  1Ah    WORD    offset of K3TAB NPad
  631.  1Ch    WORD    offset of K3TAB CtrlNPad
  632.  1Eh    WORD    offset of K3TAB AltNPad
  633.  20h    WORD    offset of K3TAB ApoTbl or 0000h
  634.  22h    WORD    offset of K3TAB UmlautTbl or 0000h
  635.  24h    WORD    offset of K3TAB UmlautTblExp or 0000h
  636.  26h    WORD    length of video mode table
  637.  28h    WORD    offset of VidMdTbl or 0000h
  638.  2Ah    BYTE    '$' end marker
  639.  
  640. Bitfields for K3PLUS compiler switch option flags A:
  641. Bit(s)    Description    (Table 0526)
  642.  15    GuINT16Fct2 (general use of INT 16 function 2)
  643.  14    Int15df (INT 15 has to be predefined)
  644.  13    GuAltNP (general use of Alt Numpad)
  645.  12    SupAT (ATs+ supported)
  646.  11    GuINT16Fct3 (general use of INT 16 function 3)
  647.  10    GuINT16Ret (general use of INT16 bad function return)
  648.  9-8    Layout (0-2, 3 reserved; 0=PC, 1=AT, 2=MF)
  649.  7    ForceMF (force MF decode without read-ID)
  650.  6    KXlate (translate keys for special keyboard)
  651.  5    UmlautX (umlaut translation capability included)
  652.  4    ApoX (translate apostrophe)
  653.  3    DoINT16 (INT 16 handler included)
  654.  2    UseCC (CopyCursor included)
  655.  1-0    UseEB
  656.     0=no extended keystroke buffer, 1=reserve mem, 2=use PSP, 3=reserved
  657.  
  658. Bitfields for K3 compiler switch option flags B:
  659. Bit(s)    Description    (Table 0527)
  660.  15-11    reserved (0)
  661.  10    CtrlSeq (Ctrl macro capability included)
  662.  9-8    SupINT16fct55FE
  663.  6    DoInstallCheck (check for double installation)
  664.  5    SupINT16fct5PcJr (INT 16/AH=05h"PCjr" supported)
  665.  4    SendOut (sound and message output supported)
  666.  3    SupInt16fct5500 (INT 16/AX=5500h supported)
  667.  2    GuINT15Fct4F (calls to INT 15/AH=4Fh supported)
  668.  1-0    UseBufferStart (0=use standard area, 1=set standard area,
  669.     2=use internal indexes, 3=reserved)
  670.  
  671. Bitfields for K3 internal flags A:
  672. Bit(s)    Description    (Table 0528)
  673.  7    DoingUmlautExp
  674.  6    CallINT15fct4F
  675.  5    Beep1 (requires SendOut set in option flags B)
  676.  4    ATflag (set for AT, 386, PS/2 Models 50-80)
  677.  3    XTflag (set for PC, PC/XT, Micromint PC, Pencock PC, PS/2 Model 30)
  678.  2    KeyClick
  679.  1    UmlautExp
  680.  0    UmlautTrans
  681.  
  682. Bitfields for K3 internal flags B:
  683. Bit(s)    Description    (Table 0529)
  684.  7-5    reserved
  685.  4    TranslateE0 enabled
  686.  3    Boot enabled
  687.  2    PrintScreen enabled
  688.  1    Break enabled
  689.  0    ApoPendingBeep
  690. --------K-16AF50BX4B33-----------------------
  691. INT 16 - K3PLUS v6.00+ (API v2.0+) - CHECK IF FUNCTION SUPPORTED
  692.     AX = AF50h
  693.     BX = 4B33h ('K3')
  694.     CH = function
  695.         00h get function flags
  696.         CL = 00h
  697.         Return: CX = supported function flags (see #0530)
  698.         nonzero reserved for extensions
  699. SeeAlso: AX=AF20h,AX=AF4Dh,AX=AF51h,AX=AF80h
  700.  
  701. Bitfields for K3PLUS supported function list:
  702. Bit(s)    Description    (Table 0530)
  703.  0    function 4Dh supported
  704.  1    function 50h supported
  705.  2-3    reserved (0)
  706.  4    function 20h supported
  707.  5    function 25h supported
  708.  6    function 51h supported
  709.  7    reserved (0)
  710.  8    function 80h supported
  711.  9    function 81h supported
  712.  10    function 82h supported
  713.  11-15    reserved (0)
  714. --------K-16AF51BX4B33-----------------------
  715. INT 16 - K3PLUS v6.00+ (API v2.00+) - SET OPTIONS
  716.     AX = AF51h
  717.     BX = 4B33h ('K3')
  718.     CX = switches
  719. Return: AL = status
  720.         00h done
  721.         CX = previous switch settings
  722.         01h switch not supported
  723.         FFh other error
  724. SeeAlso: AX=AF4Dh,AX=AF50h,AX=AF80h
  725. --------K-16AF80BX4B33-----------------------
  726. INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 09h VECTOR
  727.     AX = AF80h
  728.     BX = 4B33h ('K3')
  729. Return: AL = status
  730.         00h not supported
  731.         81h if successful
  732.         ES:CX -> original INT 09 handler
  733. SeeAlso: AX=AF4Dh,AX=AF50h,AX=AF81h,AX=AF82h
  734. --------K-16AF81BX4B33-----------------------
  735. INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 16h HANDLER
  736.     AX = AF81h
  737.     BX = 4B33h ('K3')
  738. Return: AL = status
  739.         00h not supported
  740.         82h if successful
  741.         ES:CX -> original INT 16 handler
  742. SeeAlso: AX=AF4Dh,AX=AF50h,AX=AF80h,AX=AF82h
  743. --------K-16AF82BX4B33-----------------------
  744. INT 16 - K3PLUS v6.00+ (API v2.00+) - GET ORIGINAL INT 10h HANDLER
  745.     AX = AF82h
  746.     BX = 4B33h ('K3')
  747. Return: AL = status
  748.         00h not supported
  749.         83h if successful
  750.         ES:CX -> original INT 10 handler
  751. Program: K3PLUS is an extended keyboard driver by Matthias Paul and Axel C.
  752.       Frinke, originally based on the K3 extended German keyboard driver
  753.       by Martin Gerdes published in c't magazine in 1988
  754. SeeAlso: AX=AF4Dh,AX=AF50h,AX=AF80h,AX=AF81h,INT 2F/AX=ED58h
  755. --------m-16B0B1-----------------------------
  756. INT 16 - VGARAM v1.00 - INSTALLATION CHECK
  757.     AX = B0B1h
  758.     ES:DI -> 6 byte signature "VGARAM"
  759. Return: AX = B1B0h if installed,
  760.     DS:BX -> VGARAM Status byte: 0 = OFF, 1 = ON
  761. Program: VGARAM is a utility by Brett Warthen which makes VGA memory which is
  762.       not used in text modes available for DOS
  763. --------K-16CA--BX736B-----------------------
  764. INT 16 - CtrlAlt Associates STACKEY.COM v3.00 - API
  765.     AH = CAh
  766.     BX = 736Bh ("sk")
  767.     CX = 736Bh
  768.     AL = function
  769.         00h installation check
  770.         Return: DX = words available in keyboard buffer
  771.         01h place keystroke in buffer
  772.         DX = keystroke (DH = scan code, DL = ASCII character)
  773.         Return: DX = words available in keyboard buffer
  774.                 FFFFh on error
  775.         02h flush STACKEY and BIOS keyboard buffers
  776. Return: AX = CAFFh if installed
  777.         BX = segment of resident code
  778.         CX = STACKEY version (CH = major, CL = minor)
  779. Program: STACKEY is a shareware keyboard-input faking TSR
  780. Index:    installation check;STACKEY
  781. --------V-16CA00BX6570-----------------------
  782. INT 16 - CtrlAlt Associates EGAPAL.COM v1.00 - INSTALLATION CHECK
  783.     AX = CA00h
  784.     BX = 6570h ("ep")
  785.     CX = 6570h
  786. Return: AX = CAFFh if installed
  787.         BX = segment of resident code
  788.         CX = ??? (0090h)
  789. Program: EGAPAL is a TSR supplied with STACKEY which makes EGA palette
  790.       settings permanent across mode switches
  791. SeeAlso: AX=CA00h/BX=7670h
  792. --------V-16CA00BX7670-----------------------
  793. INT 16 - CtrlAlt Associates VGAPAL.COM v1.00 - INSTALLATION CHECK
  794.     AX = CA00h
  795.     BX = 7670h ("vp")
  796.     CX = 7670h
  797. Return: AX = CAFFh if installed
  798.         BX = segment of resident code
  799.         CX = ??? (0090h)
  800. Program: VGAPAL is a TSR supplied with STACKEY which makes VGA palette
  801.       settings permanent across mode switches
  802. SeeAlso: AX=CA00h/BX=6570h
  803. --------U-16CB00-----------------------------
  804. INT 16 - PUPClip v1.12+ - INSTALLATION CHECK
  805.     AX = CB00h
  806. Return: BX = 4342h if installed
  807.         AX = version (AH = major version, AL = BCD minor version)
  808. Program: PUPClip is the freeware PopUP Clipboard for DOS and Windows DOS
  809.      sessions by SkullC0DEr
  810. SeeAlso: AX=CB01h,AX=CB02h,AX=CB03h,AX=CB04h,AX=CB05h,AX=CB06h,AX=CB08h
  811. SeeAlso: INT 2F/AX=1701h
  812. --------U-16CB01-----------------------------
  813. INT 16 - PUPClip v1.12+ - GET CLIPBOARD CURSOR POSITION
  814.     AX = CB01h
  815. Return: BL = column (0-79)
  816.     BH = row (0-49)
  817. SeeAlso: AX=CB00h,AX=CB02h,AX=CB03h
  818. --------U-16CB02-----------------------------
  819. INT 16 - PUPClip v1.12+ - SET CLIPBOARD CURSOR POSITION
  820.     AX = CB02h
  821.     BL = column (0-79)
  822.     BH = row (0-49)
  823. Return: CF clear if successful
  824.     CF set on error (invalid position)
  825. SeeAlso: AX=CB00h,AX=CB01h,AX=CB04h
  826. --------U-16CB03-----------------------------
  827. INT 16 - PUPClip v1.12+ - GET CHARACTER FROM CURRENT CLIPBOARD CURSOR POSITION
  828.     AX = CB03h
  829. Return: BL = ASCII character at current position
  830. SeeAlso: AX=CB00h,AX=CB02h,AX=CB04h,INT 2F/AX=1705h
  831. --------U-16CB04-----------------------------
  832. INT 16 - PUPClip v1.12+ - WRITE CHARACTER TO CURRENT CLIPBOARD CURSOR POSITION
  833.     AX = CB04h
  834.     BL = ASCII character to store
  835. SeeAlso: AX=CB00h,AX=CB02h,AX=CB03h,AX=CB05h,INT 2F/AX=1703h
  836. --------U-16CB05-----------------------------
  837. INT 16 - PUPClip v1.12+ - CLEAR CLIPBOARD CONTENTS
  838.     AX = CB05h
  839. Return: nothing
  840. SeeAlso: AX=CB00h,AX=CB04h,AX=CB06h,AX=CB07h,INT 2F/AX=1702h
  841. --------U-16CB06-----------------------------
  842. INT 16 - PUPClip v1.12+ - SCROLL UP CLIPBOARD CONTENTS
  843.     AX = CB06h
  844. Return: nothing
  845. SeeAlso: AX=CB00h,AX=CB05h,AX=CB07h
  846. --------U-16CB07-----------------------------
  847. INT 16 - PUPClip v1.12+ - SCROLL DOWN CLIPBOARD CONTENTS
  848.     AX = CB07h
  849. Return: nothing
  850. SeeAlso: AX=CB00h,AX=CB05h,AX=CB06h
  851. --------U-16CB08-----------------------------
  852. INT 16 - PUPClip v1.12+ - POP UP
  853.     AX = CB08h
  854. Return: CF clear if successful
  855.     CF set on error (unsupported video mode)
  856. SeeAlso: AX=CB00h
  857. --------U-16D724CX00CB-----------------------
  858. INT 16 U - APCAL v3.20 - GET ???
  859.     AX = D724h
  860.     CX = 00CBh
  861. Return: AX = 0000h
  862.     BX = 0000h
  863.     DX:CX -> ??? or 0000h:0000h
  864. Program: APCAL is an optionally-resident shareware appointment calendar by
  865.       Gamma Software
  866. SeeAlso: AX=3577h,AX=D724h/CX=00CCh,AX=D724h/CX=00CDh
  867. --------U-16D724CX00CC-----------------------
  868. INT 16 U - APCAL v3.20 - GET ???
  869.     AX = D724h
  870.     CX = 00CCh
  871. Return: AX = 0000h
  872.     BX = 0000h
  873.     DX:CX -> ??? (apparently an internal data area)
  874. SeeAlso: AX=D724h/CX=00CBh,AX=D724h/CX=00CDh
  875. --------U-16D724CX00CD-----------------------
  876. INT 16 U - APCAL v3.20 - GET ???
  877.     AX = D724h
  878.     CX = 00CDh
  879. Return: AX = ??? (5345h seen)
  880. SeeAlso: AX=D724h/CX=00CBh,AX=D724h/CX=00CCh
  881. --------v-16DD--------------------------
  882. INT 16 - VIRUS - "Frumble" - INSTALLATION CHECK
  883.     AH = DDh
  884. Return: AL = DDh if resident
  885. SeeAlso: INT 13/AX=FD50h,INT 21/AX=010Fh,INT 21/AX=0B56h
  886. --------s-16DFDF-----------------------------
  887. INT 16 U - Corel PowerSCSI - FDAUDIO.COM - INSTALLATION CHECK
  888.     AX = DFDFh
  889. Return: ES:DI -> ASCII signature "FDAUDIO/CD" followed by ASCII date, i.e.
  890.       "06/18/93" if installed
  891. --------b-16E000-----------------------------
  892. INT 16 - AMI BIOS - BIOS-FLASH Interface - GET VERSION NUMBER
  893.     AX = E000h
  894. Return: CF clear if successful
  895.         AL = FAh
  896.         BX = version number (BCD) (0200h = v2.00)
  897.     CF set on error (not implemented)
  898. Notes:    this interface is available on AMI BIOSes built from AMI core version
  899.       8/8/93 (HiFlex BIOS) or 11/15/93 (WinBIOS) or later
  900.     the "Meningitis" virus uses this API when attacking a system equipped
  901.       with an AMI BIOS; it is supposedly able to write itself into the
  902.       Flash ROM and thus make itself part of the BIOS
  903. SeeAlso: AX=E001h,AX=E004h,AX=E006h,AX=E008h,AX=E00Ah,AX=E00Bh,AX=E0FFh
  904. --------b-16E001-----------------------------
  905. INT 16 - AMI BIOS - BIOS-FLASH Interface - GET CHIPSET SAVE/RESTORE SIZE
  906.     AX = E001h
  907. Return: CF clear if successful
  908.         AL = FAh
  909.         BX = number of bytes required to save chipset configuration
  910.     CF set on error
  911. SeeAlso: AX=E000h,AX=E002h,AX=E003h
  912. --------b-16E002-----------------------------
  913. INT 16 - AMI BIOS - BIOS-FLASH Interface - SAVE CHIPSET STATUS & PREPARE CHPSET
  914.     AX = E002h
  915.     ES:DI -> buffer for storing chipset status
  916. Return: CF clear if successful
  917.         AL = FAh
  918.     CF set on error
  919. SeeAlso: AX=E000h,AX=E001h,AX=E003h
  920. --------b-16E003-----------------------------
  921. INT 16 - AMI BIOS - BIOS-FLASH Interface -  RESTORE CHIPSET STATUS
  922.     AX = E003h
  923.     ES:DI -> buffer in which chipset status was previously stored
  924. Return: CF clear if successful
  925.         AL = FAh
  926.     CF set on error
  927. SeeAlso: AX=E000h,AX=E001h,AX=E002h
  928. --------b-16E004-----------------------------
  929. INT 16 - AMI BIOS - BIOS-FLASH Interface - LOWER PROGRAMMING VOLTAGE Vpp
  930.     AX = E004h
  931. Return: CF clear if successful
  932.         AL = FAh
  933.     CF set on error
  934. Note:    this function does not return until the voltage level stabilizes
  935. SeeAlso: AX=E000h,AX=E005h,AX=E006h
  936. --------b-16E005-----------------------------
  937. INT 16 - AMI BIOS - BIOS-FLASH Interface - RAISE PROGRAMMING VOLTAGE Vpp
  938.     AX = E005h
  939. Return: CF clear if successful
  940.         AL = FAh
  941.     CF set on error
  942. Note:    this function does not return until the voltage level stabilizes
  943. SeeAlso: AX=E000h,AX=E004h,AX=E007h
  944. --------b-16E006-----------------------------
  945. INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH WRITE PROTECT
  946.     AX = E006h
  947. Return: CF clear if successful
  948.         AL = FAh
  949.     CF set on error
  950. Note:    this function performs any delay required to allow the Flash ROM to
  951.       stabilize in the write-protected state
  952. SeeAlso: AX=E000h,AX=E004h,AX=E007h
  953. --------b-16E007-----------------------------
  954. INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH WRITE ENABLE
  955.     AX = E007h
  956. Return: CF clear if successful
  957.         AL = FAh
  958.     CF set on error
  959. Note:    this function performs any delay required to allow the Flash ROM to
  960.       stabilize in the write-enabled state
  961. SeeAlso: AX=E000h,AX=E005h,AX=E006h,AX=E008h
  962. --------b-16E008-----------------------------
  963. INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH SELECT
  964.     AX = E008h
  965. Return: CF clear if successful
  966.         AL = FAh
  967.     CF set on error
  968. Desc:    select the Flash ROM if the system contains both EPROM and Flash ROM
  969. Note:    this function performs any delay required to allow the Flash ROM to
  970.       stabilize in the selected state; if no EPROM is present, this
  971.       function always returns successfully
  972. SeeAlso: AX=E000h,AX=E007h,AX=E009h
  973. --------b-16E009-----------------------------
  974. INT 16 - AMI BIOS - BIOS-FLASH Interface - FLASH DE-SELECT
  975.     AX = E009h
  976. Return: CF clear if successful
  977.         AL = FAh
  978.     CF set on error
  979. Desc:    select the EPROM if the system contains both EPROM and Flash ROM
  980. Note:    this function performs any delay required to allow the Flash ROM to
  981.       stabilize in the de-selected state; if no EPROM is present, this
  982.       function always returns successfully
  983. SeeAlso: AX=E000h,AX=E006h,AX=E008h
  984. --------b-16E00A-----------------------------
  985. INT 16 - AMI BIOS - BIOS-FLASH Interface - VERIFY ALLOCATED MEMORY
  986.     AX = E00Ah
  987.     BX = number of paragraphs
  988.     ES = starting segment of memory
  989. Return: CF clear if successful
  990.         AL = FAh
  991.     CF set on error
  992. Desc:    determine whether the specified memory may be used for flash
  993.       programming
  994. Note:    always returns error if BX is zero on entry
  995. SeeAlso: AX=E000h,AX=E00Bh
  996. --------b-16E00B-----------------------------
  997. INT 16 - AMI BIOS - BIOS-FLASH Interface - SAVE INTERNAL CACHE STATUS
  998.     AX = E00Bh
  999.     ES:DI -> buffer for internal cache status (minimum 4Kbytes)
  1000. Return: CF clear if successful
  1001.         AL = FAh
  1002.     CF set on error
  1003. Note:    always returns error if the hardware does not contain internal
  1004.       cache or this call is made in protected mode
  1005. SeeAlso: AX=E000h,AX=E00Ah,AX=E00Ch
  1006. --------b-16E00C-----------------------------
  1007. INT 16 - AMI BIOS - BIOS-FLASH Interface - RESTORE INTERNAL CACHE STATUS
  1008.     AX = E00Ch
  1009.     ES:DI -> buffer containing internal cache status (minimum 4Kbytes)
  1010. Return: CF clear if successful
  1011.         AL = FAh
  1012.     CF set on error
  1013. Note:    always returns error if the hardware does not contain internal
  1014.       cache or this call is made in protected mode
  1015. SeeAlso: AX=E000h,AX=E00Bh
  1016. --------t-16E0E0-----------------------------
  1017. INT 16 - TurboPower TSRs - ALTERNATE INSTALLATION CHECK
  1018.     AX = E0E0h
  1019. Return: AX = 1F1Fh if installed
  1020.         DWORD 0040h:00F0h -> last data block in TSR list (see #0532)
  1021. Note:    the returned TSR list provides support for communication among TSRs
  1022.       built with TurboPower's Turbo Professional and Object Professional
  1023.       libraries for Turbo Pascal
  1024. SeeAlso: AX=F0F0h
  1025. --------b-16E0FF-----------------------------
  1026. INT 16 - AMI BIOS - BIOS-FLASH Interface - GENERATE CPU RESET
  1027.     AX = E0FFh
  1028. Return: never
  1029. SeeAlso: AX=E000h,INT 14/AH=17h"FOSSIL"
  1030. --------U-16ED--BHED-------------------------
  1031. INT 16 - BORLAND TURBO LIGHTNING - API
  1032.     AH = EDh
  1033.     BH = EDh
  1034.     BL = function
  1035.         00h installation check
  1036.         Return: AX = 5205h
  1037.             CH = major version
  1038.             CL = minor version
  1039.         01h identical to function 00h???
  1040.         02h get resident data segment
  1041.         Return: AX = data segment of resident portion
  1042.         03h get resident ???
  1043.         Return: AX = offset of some buffer in resident code seg
  1044.         04h redefine auxiliary dictionary
  1045.         DS:SI -> counted filename string
  1046.         Return: AL = result code
  1047.         05h select active environment
  1048.         AL = environment (00h to 0Ch)
  1049.         Return: AX = status
  1050.                 0000h if OK
  1051.                 0001h if out of range
  1052.         06h toggle AutoProof???
  1053.         AL = state (00h off, 01h on)
  1054.         07h ???
  1055.         08h ???
  1056.         AL = char???
  1057.         CX = ???
  1058.         DX = ???
  1059.         Return: AX = 0, 1 or 2
  1060.         09h ???
  1061.         0Ah ???
  1062.         CX = ???
  1063.         DX = ???
  1064.         Return: AX = ???
  1065.         0Bh check dictionary integrity???
  1066.         DS:SI -> counted dictionary filename string
  1067.         Return: AX = 0, 40h, 80h
  1068.         0Ch spellcheck string (disk dictionary, possibly RAM dict as well)
  1069.         DS:SI -> counted string to check
  1070.         Return: AH = 0
  1071.             AL = result code
  1072.                00h string found in dictionary
  1073.                20h string begins more than one word
  1074.                40h string not found
  1075.         0Dh set ???
  1076.         (sets an internal flag)
  1077.         0Eh spellcheck string (RAM dictionary only)
  1078.         DS:SI -> counted string to check
  1079.         Return: AH = 00h
  1080.             AL = result code
  1081.                 00h string found in dictionary
  1082.                 01h string not found
  1083.                 02h ???
  1084.         0Fh ???
  1085.         10h ???
  1086. Notes:    AX in general returns an error code from most functions.
  1087. Index:    installation check;Turbo Lightning
  1088. --------U-16EF-------------------------------
  1089. INT 16 - CALCULATOR - INSTALLATION CHECK
  1090.     AH = EFh
  1091. Return: AX = 0088h if installed
  1092. Program: CALCULATOR is a shareware popup calculator by Andrzej Brzezinski and
  1093.       Marek Kosznik
  1094. --------b-16F0-------------------------------
  1095. INT 16 - Compaq 386 and newer - SET CPU SPEED
  1096.     AH = F0h
  1097.     AL = speed code (see #0531)
  1098.     if AL=09h,
  1099.         CX = speed value, 1 (slowest) to 50 (full), 3 ~= 8088
  1100. Note:    also supported by some versions of AMI BIOS dated June 1992 or later;
  1101.       speed codes 0 or 1 are used for Low Speed, 2 for High Speed
  1102. SeeAlso: AH=F1h,AH=F3h
  1103.  
  1104. (Table 0531)
  1105. Values for speed code:
  1106.  00h    equivalent to 6 MHz 80286 (COMMON)
  1107.  01h    equivalent to 8 MHz 80286 (FAST)
  1108.  02h    full 16 MHz (HIGH)
  1109.  03h    toggles between 8 MHz-equivalent and speed set by system board switch
  1110.       (AUTO or HIGH)
  1111.  08h    full 16 MHz except 8 MHz-equivalent during floppy disk access
  1112.  09h    specify speed directly
  1113. --------t-16F0F0-----------------------------
  1114. INT 16 - TurboPower TSRs - INSTALLATION CHECK
  1115.     AX = F0F0h
  1116. Return: AX = 0F0Fh if installed
  1117.         ES:DI -> last data block in TSR list (see #0532)
  1118. Note:    the returned TSR list provides support for communication among TSRs
  1119.       built with TurboPower's Turbo Professional and Object Professional
  1120.       libraries for Turbo Pascal
  1121. SeeAlso: AX=E0E0h
  1122.  
  1123. Format of TurboPower TSR data block:
  1124. Offset    Size    Description    (Table 0532)
  1125.  00h    DWORD    pointer to program tag (counted ASCII string)
  1126.  04h    WORD    interface version number (0400h)
  1127.  06h    DWORD    pointer to command entry point
  1128.  0Ah    DWORD    pointer to previous data block (0000h:0000h if none)
  1129.  0Eh    DWORD    pointer to next data block (0000h:0000h if none)
  1130. ---swappable TSRs only---
  1131.  12h    DWORD    pointer to swapping data
  1132.  16h    DWORD    pointer to user data
  1133.     more???
  1134. --------b-16F1-------------------------------
  1135. INT 16 - Compaq 386 and newer - READ CURRENT CPU SPEED
  1136.     AH = F1h
  1137. Return: AL = speed code (see #0531)
  1138.     if AL = 09h, CX = speed code
  1139. Note:    also supported by some versions of AMI BIOS dated June 1992 or later
  1140. SeeAlso: AH=F0h,AH=F3h
  1141. --------b-16F2-------------------------------
  1142. INT 16 - Compaq 386 and newer - DETERMINE ATTACHED KEYBOARD TYPE
  1143.     AH = F2h
  1144. Return: AL = type
  1145.         00h if 11-bit AT keyboard is in use
  1146.         01h if 9-bit PC keyboard is in use
  1147.     AH = 00h (04/08/93 system ROM)
  1148. --------b-16F3-------------------------------
  1149. INT 16 - Compaq 80286s - SET CPU SPEED LIMIT (OVERRIDE JUMPER)
  1150.     AH = F3h
  1151.     AL = new limit
  1152.         00h limit is 6 Mhz
  1153.         01h limit is 8 Mhz/6 Mhz
  1154. SeeAlso: AH=F0h,AH=F1h
  1155. --------U-16F398-----------------------------
  1156. INT 16 U - NORTON GUIDES - INSTALLATION CHECK
  1157.     AX = F398h
  1158. Return: AX = 6A73h ("js")
  1159.     BH = BIOS scan code of current hot key
  1160.     BL = ASCII code of current hot key
  1161. Note:    NG.EXE was written by John Socha
  1162. --------b-16F400-----------------------------
  1163. INT 16 - Compaq Systempro and higher - CACHE CONTROLLER STATUS
  1164.     AX = F400h
  1165. Return: AH = E2h (*)
  1166.     AL = status
  1167.         00h not present
  1168.         01h enabled
  1169.         02h disabled
  1170.     CX = cache memory size
  1171.         bit 15:    cache size information is NOT valid
  1172.         bits 14-0:    cache memory size in kilobytes
  1173.     DH = cache write technology
  1174.         bit 7:    cache write information is NOT valid
  1175.         bits 6-1:    reserved (0)
  1176.         bit 0:    0 = Write-through caching
  1177.             1 = Write-back caching
  1178.     DL = cache type
  1179.         bit 7:    cache type information is NOT valid
  1180.         bits 6-1:    reserved (0)
  1181.         bit 0:    0 = Direct mapped
  1182.             1 = Two-way set-associative
  1183. Notes:    also supported by some versions of AMI BIOS dated June 1992 or later
  1184.     many (most) BIOSes return a modified AH when called for an unsupported
  1185.       or non-keyboard function (typically, the highest supported keyboard
  1186.       function [normally 12h] is subtracted from the original AH)
  1187. SeeAlso: AX=F401h,AX=F402h
  1188. --------b-16F401-----------------------------
  1189. INT 16 - Compaq Systempro and higher - ENABLE CACHE CONTROLLER
  1190.     AX = F401h
  1191. Return: AX = E201h
  1192. Notes:    also supported by some versions of AMI BIOS dated June 1992 or later
  1193.     many (most) BIOSes return a modified AH when called for an unsupported
  1194.       or non-keyboard function (typically, the highest supported keyboard
  1195.       function [normally 12h] is subtracted from the original AH)
  1196. SeeAlso: AX=F400h,AX=F402h
  1197. --------b-16F402-----------------------------
  1198. INT 16 - Compaq Systempro and higher - DISABLE CACHE CONTROLLER
  1199.     AX = F402h
  1200. Return: AX = E202h
  1201. Notes:    also supported by some versions of AMI BIOS dated June 1992 or later
  1202.     many (most) BIOSes return a modified AH when called for an unsupported
  1203.       or non-keyboard function (typically, the highest supported keyboard
  1204.       function [normally 12h] is subtracted from the original AH)
  1205. SeeAlso: AX=F400h,AX=F401h
  1206. --------v-16FA00DX5945-----------------------
  1207. INT 16 U - PC Tools v8+ VSAFE, VWATCH - INSTALLATION CHECK
  1208.     AX = FA00h
  1209.     DX = 5945h
  1210. Return: CF clear
  1211.     DI = 4559h
  1212.     BX = BIOS hotkey scancode (default 2F00h) (VSAFE only)
  1213.         FFFFh if disabled
  1214. Note:    MS-DOS 6.0 bundles VSAFE and VWATCH as part of its virus protection
  1215. SeeAlso: AX=FA05h,INT 13/AH=FAh,INT 21/AH=FAh"VDEFEND",INT 2F/AX=6282h
  1216. --------v-16FA01DX5945-----------------------
  1217. INT 16 U - PC Tools v8+ VSAFE, VWATCH - UNINSTALL
  1218.     AX = FA01h
  1219.     DX = 5945h
  1220. Return: CF clear if successful
  1221.     DI = 4559h
  1222. SeeAlso: AX=FA00h
  1223. --------v-16FA02DX5945-----------------------
  1224. INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET/SET OPTIONS
  1225.     AX = FA02h
  1226.     DX = 5945h
  1227.     BL = new parameter flags (see #0533)
  1228. Return: CF clear
  1229.     DI = 4559h
  1230.     CL = old value of parameter flags
  1231.  
  1232. Bitfields for VSAFE/VWATCH parameter flags:
  1233. Bit(s)    Description    (Table 0533)
  1234.  7    Protect executable files
  1235.  6    Protect FD boot sector
  1236.  5    Protect HD boot sector
  1237.  4    Boot sector viruses
  1238.  3    Check executable files
  1239.  2    General write protect
  1240.  1    Resident
  1241.  0    HD Low level format
  1242. --------v-16FA03DX5945-----------------------
  1243. INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET ???
  1244.     AX = FA03h
  1245.     DX = 5945h
  1246. Return: CF clear
  1247.     DI = 4559h
  1248.     AX = 0002h
  1249. --------v-16FA04DX5945-----------------------
  1250. INT 16 U - PC Tools v8+ VSAFE - GET HOTKEY DISABLE FLAG
  1251.     AX = FA04h
  1252.     DX = 5945h
  1253. Return: CF clear
  1254.     DI = 4559h
  1255.     BL = hotkey disable flag (nonzero if hotkey disabled)
  1256. Note:    this function is a NOP under VWATCH, merely returning CF clear/DI=4559h
  1257. SeeAlso: AX=FA00h,AX=FA05h
  1258. --------v-16FA05DX5945-----------------------
  1259. INT 16 U - PC Tools v8+ VSAFE - SET HOTKEY DISABLE FLAG
  1260.     AX = FA05h
  1261.     DX = 5945h
  1262.     BL = new value of hotkey disable flag (nonzero to disable hotkey)
  1263. Return: CF clear
  1264.     DI = 4559h
  1265. Note:    this function is a NOP under VWATCH, merely returning CF clear/DI=4559h
  1266. SeeAlso: AX=FA00h,AX=FA04h
  1267. --------v-16FA06DX5945-----------------------
  1268. INT 16 U - PC Tools v8+ VSAFE, VWATCH - GET NETWORK DRIVES TEST FLAG
  1269.     AX = FA06h
  1270.     DX = 5945h
  1271. Return: CF clear
  1272.     DI = 4559h
  1273.     BL = test status
  1274.         00h don't monitor network drives (default for VWATCH v2.1)
  1275.         FFh monitor network drives (default for VSAFE v2.0)
  1276.     CL = ??? (only VSAFE 2.0)
  1277. SeeAlso: AX=FA07h
  1278. --------v-16FA07DX5945-----------------------
  1279. INT 16 U - PC Tools v8+ VSAFE, VWATCH - SET NETWORK DRIVES TEST FLAG
  1280.     AX = FA07h
  1281.     DX = 5945h
  1282.     BL = new state
  1283.         00h don't monitor
  1284.         01h monitor network drives
  1285. Return: CF clear
  1286.     DI = 4559h
  1287. Note:    VWATCH v2.1 (from PC Tools 9.0) returns CF set instead
  1288. SeeAlso: AX=FA00h,AX=FA06h
  1289. --------v-16FA08DX5945-----------------------
  1290. INT 16 U - PC Tools v9+ VWATCH v2.1 - ???
  1291.     AX = FA08h
  1292.     DX = 5945h
  1293. Return: CF clear
  1294.     DI = 4559h
  1295.     AX = ??? (0002h)
  1296.     BX = version (BH=major, BL=two-digit minor)
  1297. Note:    this function is not supported by the PC Tools 9.0 VSAFE v2.0
  1298. SeeAlso: AX=FA00h,AX=FA06h
  1299. --------U-16FE55-----------------------------
  1300. INT 16 U - PC Tools v8+ programs - GET ???
  1301.     AX = FE55h
  1302.     CX = segment of resident program or 0000h for last loaded
  1303.     DX = 0000h
  1304. Return: DX = resident code segment (unchanged if CX=0000h on entry)
  1305.     AX = ??? or 0000h
  1306. Note:    this call is supported by CPSCHED, CPTASK, DATAMON, DPROTECT, DRIVEMAP,
  1307.       and DSKLIGHT beginning in PC Tools v8.0; programs other than CPTASK
  1308.       seem to hook it merely to return the same AX as the CPTASK loaded
  1309.       prior to them returned
  1310. --------U-16FEA4-----------------------------
  1311. INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - RESET ???
  1312.     AX = FEA4h
  1313. Return: nothing
  1314. Note:    this function is identical to AX=FFA4h, and is implemented by the same
  1315.       code in DESKTOP
  1316. SeeAlso: AX=FFA4h
  1317. --------U-16FEC6-----------------------------
  1318. INT 16 U - PC Tools v7+ CPSCHED - ENABLE/DISABLE CPSCHED API
  1319.     AX = FEC6h
  1320.     BL = new state (00h enabled, nonzero disabled)
  1321. Return: nothing
  1322. Desc:    specify whether CPSCHED API calls other than this one and AX=FE55h will
  1323.       be honored
  1324. --------U-16FED3-----------------------------
  1325. INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - ???
  1326.     AX = FED3h
  1327.     DS:SI -> 92-byte data record for ???
  1328. Return: ???
  1329. Note:    this function is identical to AX=FFD3h, and is implemented by the same
  1330.       code in DESKTOP
  1331. SeeAlso: AX=FFD3h
  1332. --------U-16FEDC-----------------------------
  1333. INT 16 U - PC Tools v7+ CPSCHED - UNHOOK INTERRUPTS
  1334.     AX = FEDCh
  1335. Return: AX,DX destroyed
  1336. Index:    uninstall;CPSCHED
  1337. --------U-16FEEFCX0000-----------------------
  1338. INT 16 U - PC Tools v7+ CPSCHED/DESKTOP - INSTALLATION CHECK
  1339.     AX = FEEFh
  1340.     CX = 0000h
  1341. Return: CX = ABCDh if PC Tools scheduler (CPSCHED or DESKTOP) installed
  1342.         BX = segment of resident portion
  1343.         DX = (CPSCHED v8.0) resident CS
  1344. Note:    this function is identical to AX=FFD3h, and is implemented by the same
  1345.       code in DESKTOP
  1346. SeeAlso: AX=FFEFh
  1347. --------U-16FEF1-----------------------------
  1348. INT 16 U - PC Tools v7 only CPSCHED/DESKTOP - ALTERNATE INSTALLATION CHECK
  1349.     AX = FEF1h
  1350.     BX = ???
  1351. Return: CX = 5555h if PC Tools scheduler (CPSCHED or DESKTOP) installed
  1352.     DX = 5555h
  1353. Note:    this function is identical to AX=FFD3h, and is implemented by the same
  1354.       code in DESKTOP
  1355. SeeAlso: AX=FFF1h
  1356. --------K-16FF-------------------------------
  1357. INT 16 - KEYBOARD - KBUF extensions - ADD KEY TO TAIL OF KEYBOARD BUFFER
  1358.     AH = FFh
  1359.     DX = scan code
  1360. Return: AL = status
  1361.         00h success
  1362.         01h failure
  1363. Program: KBUF is a keyboard buffer expander by Mark Adler
  1364. SeeAlso: AH=05h
  1365. --------V-16FF-------------------------------
  1366. INT 16 - OPTIMA 1024 VGA-Sync,ET-3000 chipset - QUERY ZOOM INTERRUPT
  1367.     AH = FFh
  1368. Return: AL = interrupt number to which BIOS keyboard handler has been relocated
  1369.     AL+1 = Zoom interrupt number
  1370.     BX = hotkey
  1371. Notes:    the default interrupts are 60h for keyboard and 61h for Zoom interrupt;
  1372.       the default hot key is F10
  1373.     not all vendors include the Tseng TSR which supports these functions
  1374. SeeAlso: INT 61/AX=0000h"OPTIMA",INT 61/AX=0005h"OPTIMA"
  1375. Index:    hotkeys;OPTIMA 1024 VGA
  1376. ----------16FF--BH00-------------------------
  1377. INT 16 - FREEZE.COM - INSTALLATION CHECK
  1378.     AH = FFh
  1379.     BH = 00h
  1380. Return: BH = FFh if installed
  1381. Program: FREEZE is a PC Magazine utility
  1382. --------d-16FF70BX0000-----------------------
  1383. INT 16 U - PC Tools v8+ DRIVEMAP - INSTALLATION CHECK
  1384.     AX = FF70h
  1385.     BX = 0000h
  1386.     CX = 4C69h ('Li')
  1387.     DX = 6E6Bh ('nk')
  1388. Return: AX = 0000h
  1389.     CX = 4350h ('CP')
  1390.     DH = major version
  1391.     DL = minor version
  1392. Program: DRIVEMAP is a redirector which allows drives on computers connected
  1393.       over the parallel or serial ports to appear as local drives
  1394. SeeAlso: AX=FF70h/BX=0001h,AX=FF70h/BX=0002h
  1395. --------d-16FF70BX0001-----------------------
  1396. INT 16 U - PC Tools v8+ DRIVEMAP - ???
  1397.     AX = FF70h
  1398.     BX = 0001h
  1399.     DL = ???
  1400. Return: AX = ???
  1401.     DH = ???
  1402. SeeAlso: AX=FF70h/BX=0000h,AX=FF70h/BX=0002h
  1403. --------d-16FF70BX0002-----------------------
  1404. INT 16 U - PC Tools v8+ DRIVEMAP - ???
  1405.     AX = FF70h
  1406.     BX = 0002h
  1407.     CX = ???
  1408.     DX = ???
  1409. Return: AX = ??? or FFFEh/FFFFh on error
  1410.     DL = ???
  1411. BUG:    DRIVEMAP will branch to random locations for BX values other than
  1412.       those listed above for v8.0-9.0 because a) the incorrect register is
  1413.       range-tested, resulting in BX=0003h-5CD6h being accepted as valid
  1414.       function numbers, and b) the conditional which branches on invalid
  1415.       function numbers jumps to the following instruction, becoming a NOP
  1416. SeeAlso: INT 2F/AX=9203h"DRIVEMAP"
  1417. Index:    installation check;DRIVEMAP
  1418. --------T-16FF80BX0000-----------------------
  1419. INT 16 U - PC Tools v8+ CPTASK - INSTALLATION CHECK
  1420.     AX = FF80h
  1421.     BX = 0000h
  1422.     CX = 0000h
  1423.     DX = 0000h
  1424. Return: CX = 5555h if installed
  1425. Program: CPTASK is a task switcher by Central Point Software
  1426. --------T-16FF80BX0001-----------------------
  1427. INT 16 U - PC Tools v8+ CPTASK - GET ???
  1428.     AX = FF80h
  1429.     BX = 0001h
  1430.     ???
  1431. Return: DX:SI -> task list??? (ten entries of 70h bytes in v9.0)
  1432.     BX = ??? (PSP segment of resident code???)
  1433. --------T-16FF80BX0002-----------------------
  1434. INT 16 U - PC Tools v8+ CPTASK - GET ???
  1435.     AX = FF80h
  1436.     BX = 0002h
  1437. Return: DX:SI -> ???
  1438. --------T-16FF80BX0003-----------------------
  1439. INT 16 U - PC Tools v8+ CPTASK - GET ??? FLAGS
  1440.     AX = FF80h
  1441.     BX = 0003h
  1442. Return: AX = flags (see #0534)
  1443. SeeAlso: AX=FF80h/BX=0004h,AX=FF80h/BX=0006h
  1444.  
  1445. Bitfields for CPTASK flags:
  1446. Bit(s)    Description    (Table 0534)
  1447.  10    ???
  1448.  13    ???
  1449.  14    ???
  1450.  15    ???
  1451. --------T-16FF80BX0004-----------------------
  1452. INT 16 U - PC Tools v8+ CPTASK - SET ???
  1453.     AX = FF80h
  1454.     BX = 0004h
  1455.     CX = new value of ???
  1456. Return: ???
  1457. Note:    this function also sets bit 14 of the flags word returned by
  1458.       AX=FF80h/BX=0003h
  1459. --------T-16FF80BX0005-----------------------
  1460. INT 16 U - PC Tools v8+ CPTASK - GET NUMBER OF ACTIVE TASKS???
  1461.     AX = FF80h
  1462.     BX = 0005h
  1463. Return: AX = number of active tasks???
  1464. --------T-16FF80BX0006-----------------------
  1465. INT 16 U - PC Tools v8+ CPTASK - GET AND CLEAR ??? FLAG
  1466.     AX = FF80h
  1467.     BX = 0006h
  1468. Return: AX = old state (0000h clear, 0001h set)
  1469. Note:    the tested flag is bit 13 of the flags returned by AX=FF80h/BX=0003h
  1470. --------T-16FF80BX0007-----------------------
  1471. INT 16 U - PC Tools v8+ CPTASK - ???
  1472.     AX = FF80h
  1473.     BX = 0007h
  1474.     ES:DI -> ???
  1475.     ???
  1476. Return: ???
  1477. --------T-16FF80BX0008-----------------------
  1478. INT 16 U - PC Tools v8+ CPTASK - ???
  1479.     AX = FF80h
  1480.     BX = 0008h
  1481.     ???
  1482. Return: ???
  1483. --------T-16FF80BX0009-----------------------
  1484. INT 16 U - PC Tools v8+ CPTASK - GET ???
  1485.     AX = FF80h
  1486.     BX = 0009h
  1487. Return: CL = ???
  1488.     CH = ??? (01h or 02h)
  1489. --------T-16FF80BX000A-----------------------
  1490. INT 16 U - PC Tools v9+ CPTASK - SET ???
  1491.     AX = FF80h
  1492.     BX = 000Ah
  1493.     DS:SI -> 128-byte buffer containing ???
  1494. --------T-16FF80BX000B-----------------------
  1495. INT 16 U - PC Tools v9+ CPTASK - SET ???
  1496.     AX = FF80h
  1497.     BX = 000Bh
  1498.     DX = index of ??? task (1-10)
  1499. --------T-16FF80BX000C-----------------------
  1500. INT 16 U - PC Tools v9+ CPTASK - SET IDLE??? DELAY
  1501.     AX = FF80h
  1502.     BX = 000Ch
  1503.     CX = new delay time in minutes
  1504. --------T-16FF80BX4350-----------------------
  1505. INT 16 U - PC Tools v8+ CPTASK - UNINSTALL
  1506.     AX = FF80h
  1507.     BX = 4350h ('CP')
  1508.     CX = 5354h ('ST')
  1509. Return: never returns; terminates all tasks and exits to program originally
  1510.       calling CPTASK
  1511. --------U-16FF90-----------------------------
  1512. INT 16 U - PC Tools v8+ DESKTOP - ???
  1513.     AX = FF90h
  1514.     ???
  1515. Return: ???
  1516. Note:    available only when popped up
  1517. --------U-16FF91-----------------------------
  1518. INT 16 U - PC Tools v7+ DESKTOP - ???
  1519.     AX = FF91h
  1520.     ???
  1521. Return: AX = 0000h
  1522. Note:    calls AX=FFFDh after ???
  1523. SeeAlso: AX=FF92h,AX=FFFDh
  1524. --------U-16FF92-----------------------------
  1525. INT 16 U - PC Tools v7+ DESKTOP - ???
  1526.     AX = FF92h
  1527.     ???
  1528. Return: AX = 0000h
  1529. Note:    like AX=FF91h, but temporarily sets ??? to 3
  1530. SeeAlso: AX=FF91h,AX=FFFDh
  1531. --------U-16FF93-----------------------------
  1532. INT 16 U - PC Tools v7+ DESKTOP - SET ??? FLAG
  1533.     AX = FF93h
  1534. --------U-16FF94-----------------------------
  1535. INT 16 U - PC Tools v7+ DESKTOP - SET ???
  1536.     AX = FF94h
  1537.     CX = ??? (default 0017h)
  1538. --------U-16FF95-----------------------------
  1539. INT 16 U - PC Tools v7+ DESKTOP - SET ???
  1540.     AX = FF95h
  1541.     BX = ???
  1542. --------U-16FF96-----------------------------
  1543. INT 16 U - PC Tools v7+ DESKTOP - ???
  1544.     AX = FF96h
  1545.     CL = ???
  1546. Return: AX = ???
  1547. --------U-16FF97-----------------------------
  1548. INT 16 U - PC Tools v7+ DESKTOP - ???
  1549.     AX = FF97h
  1550.     DS:DX -> buffer for ??? (see #0535)
  1551. Return: ???
  1552.  
  1553. Format of PC Tools DESKTOP buffer:
  1554. Offset    Size    Description    (Table 0535)
  1555.  00h 48 BYTEs    ???
  1556.  30h 128 BYTEs    ???
  1557. --------U-16FF98-----------------------------
  1558. INT 16 U - PC Tools v7+ DESKTOP - OPEN \DESK.OVL FILE AND SEEK TO OVERLAY
  1559.     AX = FF98h
  1560.     DX = byte offset in file of overlay header (see #0536)
  1561. Return: BX = file handle for DESK.OVL file
  1562. Desc:    open the DESK.OVL file, seek to the specified offset, read in the
  1563.       overlay header, and seek to the offset specified by the header
  1564.  
  1565. Format of PC Tools DESKTOP overlay header:
  1566. Offset    Size    Description    (Table 0536)
  1567.  00h 12 BYTEs    NUL-padded ASCII overlay filename
  1568.  0Ch    DWORD    offset within DESK.OVL file of actual overlay
  1569. --------U-16FF99-----------------------------
  1570. INT 16 U - PC Tools v7+ DESKTOP - ???
  1571.     AX = FF99h
  1572.     ???
  1573. Return: ???
  1574. --------U-16FF9A-----------------------------
  1575. INT 16 U - PC Tools v7+ DESKTOP - GET NAME OF COLOR SCHEME
  1576.     AX = FF9Ah
  1577. Return: ES:BX -> name of current color scheme
  1578. Note:    available even if not popped up
  1579. --------U-16FF9B-----------------------------
  1580. INT 16 U - PC Tools v7+ DESKTOP - UNUSED
  1581.     AX = FF9Bh
  1582. Return: ???
  1583. Note:    sounds triple-length beep
  1584. --------T-16FF9C-----------------------------
  1585. INT 16 U - PC Tools v8+ CPTASK - SET/CLEAR ??? POINTER
  1586.     AX = FF9Ch
  1587.     BL = function
  1588.         00h set ??? pointer
  1589.         DS:SI -> ???
  1590.         01h clear pointer to 0000h:0000h
  1591. ----------16FF9D-----------------------------
  1592. INT 16 U - PC Tools v8+ CPTASK, VSAFE - ???
  1593.     AX = FF9Dh
  1594.     ES:BX -> ??? word
  1595. Return: ???
  1596. Note:    if ES is non-zero, the word pointed at by ES:BX determines whether the
  1597.       ??? flag is cleared (word = 0000h) or set (word is nonzero).    The
  1598.       flag is always cleared if ES=0000h.
  1599. --------U-16FF9E-----------------------------
  1600. INT 16 U - PC Tools v7+ DESKTOP - ???
  1601.     AX = FF9Eh
  1602.     DL = ???
  1603.         bit 7: ???
  1604.         bits 6-0: function number??? (00h,01h,other)
  1605.     ???
  1606. Return: ???
  1607. --------U-16FFA1-----------------------------
  1608. INT 16 U - PC Tools v7+ DESKTOP - ???
  1609.     AX = FFA1h
  1610.     ???
  1611. Return: ???
  1612. Note:    same as AX=FFA2h, except ??? set to FFh
  1613. SeeAlso: AX=FFA2h
  1614. --------U-16FFA2-----------------------------
  1615. INT 16 U - PC Tools v7+ DESKTOP - ???
  1616.     AX = FFA2h
  1617.     ???
  1618. Return: ???
  1619. Note:    calls AX=FFC7h (remove window) and AX=FFFDh
  1620. SeeAlso: AX=FFA1h,AX=FFC7h,AX=FFFDh
  1621. --------y-16FFA3BX0000-----------------------
  1622. INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - INSTALLATION CHECK
  1623.     AX = FFA3h
  1624.     BX = 0000h
  1625.     CX = 0000h
  1626. Return: AX = segment of resident code
  1627.     BX = 5555h
  1628.     CX = 5555h
  1629. Note:    also supported by DOS 6 UNDELETE which is licensed from PC Tools
  1630. SeeAlso: INT 21/AH=3Fh"NB.SYS",INT 21/AX=4101h,INT 2F/AX=6284h
  1631. --------y-16FFA3BX0001-----------------------
  1632. INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
  1633.     AX = FFA3h
  1634.     BX = 0001h
  1635.     CX = 0001h
  1636. Return: AX:BX -> ???
  1637.     CX = BX
  1638. --------y-16FFA3BX0002-----------------------
  1639. INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
  1640.     AX = FFA3h
  1641.     BX = 0002h
  1642.     CX = 0002h
  1643. Return: AX = ??? (0 or 1)
  1644.     CX = BX = AX
  1645. --------y-16FFA3BX0003-----------------------
  1646. INT 16 U - PC Tools v7-8 DATAMON, v9+ DPROTECT - GET ???
  1647.     AX = FFA3h
  1648.     BX = 0003h
  1649.     CX = 0003h
  1650. Return: AX = ??? (0 or 1)
  1651.     CX = BX = AX
  1652. --------y-16FFA3BX0004-----------------------
  1653. INT 16 U - PC Tools v7+ DATAMON - SET ??? FLAG
  1654.     AX = FFA3h
  1655.     BX = 0004h
  1656.     CX = 0004h
  1657. SeeAlso: AX=FFA3h/BX=0005h
  1658. --------y-16FFA3BX0005-----------------------
  1659. INT 16 U - PC Tools v7+ DATAMON - CLEAR ??? FLAG
  1660.     AX = FFA3h
  1661.     BX = 0005h
  1662.     CX = 0005h
  1663. SeeAlso: AX=FFA3h/BX=0004h
  1664. --------y-16FFA3BX0006-----------------------
  1665. INT 16 U - PC Tools v7+ DATAMON - SET PSP SEGMENT ???
  1666.     AX = FFA3h
  1667.     BX = 0006h
  1668.     CX = 0006h
  1669.     DX = current PSP segment as known to DOS??? or 0000h
  1670. --------d-16FFA3BXFFA3-----------------------
  1671. INT 16 U - PC Tools v9 DSKLIGHT - INSTALLATION CHECK
  1672.     AX = FFA3h
  1673.     BX = FFA3h
  1674.     CX = FFA3h
  1675. Return: BX = CX = 5555h if installed
  1676.         AX = resident code segment
  1677. Program: DSKLIGHT is a TSR included with PC Tools v9+ which displays a disk-
  1678.       access indicator on the screen; in v7 and v8, this function was
  1679.       provided by DATAMON
  1680. Note:    DSKLIGHT chains to the previous handler if BX or CX is not FFA3h
  1681. --------U-16FFA4-----------------------------
  1682. INT 16 U - PC Tools v7-8 DESKTOP - ???
  1683.     AX = FFA4h
  1684. Return: ???
  1685. Notes:    available even when not popped up
  1686.     sets unknown flag if ??? conditions met
  1687. SeeAlso: AX=FEA4h
  1688. --------c-16FFA5CX1111-----------------------
  1689. INT 16 - PC-Cache v6+ - INSTALLATION CHECK
  1690.     AX = FFA5h
  1691.     CX = 1111h
  1692. Return: CH = 00h if installed
  1693.         ES:DI -> internal data (see #0537)
  1694.         CL = cache state
  1695.         01h enabled
  1696.         02h disabled
  1697. SeeAlso: INT 13/AH=27h,INT 13/AH=A0h,INT 21/AH=2Bh/CX=4358h
  1698.  
  1699. Format of PC-Cache internal data:
  1700. Offset    Size    Description    (Table 0537)
  1701. -1Ch 20 BYTEs    cached drive list, one byte per drive A: to T:
  1702.         each byte is either blank (20h) or drive letter (41h-54h)
  1703.  -8    BYTE    ???
  1704.  -7    WORD    number of physical transfers (scaled down to 0000h-7FFFh)
  1705.  -5    WORD    number of saved transfers (scaled down to 0000h-7FFFh)
  1706.  -3   3 BYTEs    ???
  1707. --------c-16FFA5CXAAAA-----------------------
  1708. INT 16 - PC-Cache v6+ - ENABLE DELAYED WRITES
  1709.     AX = FFA5h
  1710.     CX = AAAAh
  1711. Return: AX = ??? (apparently either 0000h or sectors_in_cache - 5)
  1712. SeeAlso: AX=FFA5h/CX=CCCCh
  1713. --------c-16FFA5CXCCCC-----------------------
  1714. INT 16 - PC-Cache v6+ - FLUSH CACHE AND DISABLE DELAYED WRITES
  1715.     AX = FFA5h
  1716.     CX = CCCCh
  1717. Return: AX = ??? (apparently either 0000h or sectors_in_cache - 5)
  1718. Note:    delayed writes are automatically disabled on EXECing
  1719.       (see INT 21/AH=4Bh) a program named either WIN.CO? or DV.E??;
  1720.       however, delayed writes are not automatically reenabled upon the
  1721.       program's termination in v6.
  1722. SeeAlso: AX=FFA5h/CX=AAAAh,AX=FFA5h/CX=FFFFh
  1723. --------c-16FFA5CXDDDD-----------------------
  1724. INT 16 - PC-Cache v6+ - FLUSH AND DISABLE CACHE
  1725.     AX = FFA5h
  1726.     CX = DDDDh
  1727. SeeAlso: AX=FFA5h/CX=EEEEh,AX=FFA5h/CX=FFFFh
  1728. --------c-16FFA5CXEEEE-----------------------
  1729. INT 16 - PC-Cache v6+ - ENABLE CACHE
  1730.     AX = FFA5h
  1731.     CX = EEEEh
  1732. SeeAlso: AX=FFA5h/CX=DDDDh
  1733. --------c-16FFA5CXFFFF-----------------------
  1734. INT 16 - PC-Cache v6+ - FLUSH CACHE
  1735.     AX = FFA5h
  1736.     CX = FFFFh
  1737. SeeAlso: AX=FFA5h/CX=CCCCh,AX=FFA5h/CX=DDDDh,INT 13/AH=A1h
  1738. --------U-16FFA6-----------------------------
  1739. INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ???
  1740.     AX = FFA6h
  1741. Return: DS:SI -> ???
  1742. Note:    available only when popped up
  1743. --------U-16FFA7-----------------------------
  1744. INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ??? PATH
  1745.     AX = FFA7h
  1746. Return: DS:SI -> ASCIZ path (directory from which PCTools was run???)
  1747. --------U-16FFA8-----------------------------
  1748. INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
  1749.     AX = FFA8h
  1750.     DS:SI -> three consecutive ASCIZ strings for ??? (max 256 bytes total)
  1751.     ???
  1752. Return: ???
  1753. Notes:    available only when popped up
  1754.     strings copied into internal buffer, among other actions
  1755. --------U-16FFA9-----------------------------
  1756. INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET VERSION STRING
  1757.     AX = FFA9h
  1758. Return: DS:SI -> version string
  1759. --------U-16FFAA-----------------------------
  1760. INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
  1761.     AX = FFAAh
  1762.     ???
  1763. Return: ???
  1764. Note:    available only when popped up
  1765. --------U-16FFAB-----------------------------
  1766. INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET EDITOR SETTINGS???
  1767.     AX = FFABh
  1768. Return: DS:SI -> editor setting strings???
  1769. --------U-16FFAC-----------------------------
  1770. INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
  1771.     AX = FFACh
  1772.     DL = ???
  1773. Note:    available only when popped up
  1774. --------U-16FFAD-----------------------------
  1775. INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
  1776.     AX = FFADh
  1777.     DL = ???
  1778. --------U-16FFAE-----------------------------
  1779. INT 16 U - PC Tools v6.0-8.0 DESKTOP - GET ???
  1780.     AX = FFAEh
  1781. Return: AL = ???
  1782. --------U-16FFAF-----------------------------
  1783. INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
  1784.     AX = FFAFh
  1785.     DL = ???
  1786. --------U-16FFB0-----------------------------
  1787. INT 16 U - PC Tools v6.0-8.0 DESKTOP - SET ???
  1788.     AX = FFB0h
  1789.     BL = ???
  1790. --------U-16FFB1-----------------------------
  1791. INT 16 U - PC Tools v6.0-8.0 DESKTOP - ???
  1792.     AX = FFB1h
  1793.     ???
  1794. Return: ???
  1795. --------U-16FFB2-----------------------------
  1796. INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET ???
  1797.     AX = FFB2h
  1798. Return: DS:SI -> ???
  1799. --------U-16FFB3-----------------------------
  1800. INT 16 U - PC Tools v5.5-8.0 DESKTOP - ???
  1801.     AX = FFB3h
  1802.     ???
  1803. Return: ???
  1804. Note:    available only when popped up
  1805. --------U-16FFB4-----------------------------
  1806. INT 16 U - PC Tools v5.5-8.0 DESKTOP - SET ??? FLAG
  1807.     AX = FFB4h
  1808. Note:    available only when popped up
  1809. SeeAlso: AX=FFBBh
  1810. --------U-16FFB5-----------------------------
  1811. INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET/SET WINDOW PARAMETERS
  1812.     AX = FFB5h
  1813.     BX = window specifier (000Fh to 0019h) (see #0538)
  1814.     DX = 0000h get, nonzero = set
  1815.     ES:DI -> window parameter buffer (see #0539)
  1816. SeeAlso: AX=FFCBh
  1817.  
  1818. (Table 0538)
  1819. Values for PC Tools DESKTOP window specifier:
  1820.  000Fh    comm/FAX
  1821.  0014h    hotkey selection
  1822.  0015h    ASCII table
  1823.  0016h    system colors menu
  1824.  
  1825. Format of PC Tools DESKTOP window parameters:
  1826. Offset    Size    Description    (Table 0539)
  1827.  00h    BYTE    rows in window, not counting frame
  1828.  01h    BYTE    columns in window, not counting frame
  1829.  02h    BYTE    row number of top of window
  1830.  03h    BYTE    2*column number of left of window
  1831.  04h    BYTE    character attribute for ???
  1832.  05h    BYTE    character attribute for background/border
  1833.  06h    BYTE    character attribute for ???
  1834.  07h    DWORD    pointer to ??? on screen
  1835.  0Bh  4 BYTEs    ???
  1836.  0Fh    BYTE    nonzero if window may be resized
  1837. Note:    if running in monochrome mode, character attributes at offsets 04h to
  1838.       06h are stored unchanged, but attributes other than 07h, 0Fh, or 70h
  1839.       are changed to 07h on reading
  1840. --------U-16FFB6-----------------------------
  1841. INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET ???
  1842.     AX = FFB6h
  1843. Return: AH = ???
  1844.     AL = ???
  1845. --------U-16FFB7-----------------------------
  1846. INT 16 U - PC Tools v5.5-8.0 DESKTOP - GET/SET ???
  1847.     AX = FFB7h
  1848.     BX = direction
  1849.         0000h copy to buffer
  1850.         else  copy from buffer
  1851.     DS:SI -> 70-byte buffer with ???
  1852. Return: data copied
  1853. Note:    available only when popped up under v6.0+
  1854. --------U-16FFB8-----------------------------
  1855. INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET/SET???
  1856.     AX = FFB8h
  1857.     BH = subfunction
  1858.         00h get
  1859.         Return: BL = old value of ???
  1860.             CL = old value of ??? (v6.0+)
  1861.             CH = old value of ??? (v6.0+)
  1862.         nonzero set
  1863.         BL = new value for ???
  1864.         CL = new value for ??? (v6.0+)
  1865.         CH = new value for ??? (v6.0+)
  1866.         DH = ???
  1867.         Return: AL = old value replaced by CL (v6.0+)
  1868.             AH = old value replaced by CH (v6.0+)
  1869. --------U-16FFB9-----------------------------
  1870. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  1871.     AX = FFB9h
  1872.     ???
  1873. Return: AX = ???
  1874.     CX = ???
  1875.     DS:SI -> ???
  1876.     ES:DI -> ???
  1877. --------U-16FFBA-----------------------------
  1878. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  1879.     AX = FFBAh
  1880.     ???
  1881. Return: AX = ???
  1882. Note:    available only when popped up
  1883. --------U-16FFBB-----------------------------
  1884. INT 16 U - PC Tools v5.1-8.0 DESKTOP - CLEAR ??? FLAG
  1885.     AX = FFBBh
  1886. Note:    available only when popped up
  1887. SeeAlso: AX=FFB4h
  1888. --------U-16FFBC-----------------------------
  1889. INT 16 U - PC Tools v5.1-8.0 DESKTOP - RESTORE ORIGINAL SCREEN???
  1890.     AX = FFBCh
  1891. --------U-16FFBD-----------------------------
  1892. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ??? DATABASE INDEXING MESSAGES
  1893.     AX = FFBDh
  1894.     ???
  1895. Return: ???
  1896. --------U-16FFBE-----------------------------
  1897. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  1898.     AX = FFBEh
  1899.     ???
  1900. Return: ???
  1901. Note:    available only when popped up
  1902. --------U-16FFBF-----------------------------
  1903. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  1904.     AX = FFBFh
  1905.     BX = DOS file handle to write on
  1906.     ???
  1907. Return: ???
  1908. Note:    available only when popped up
  1909. --------U-16FFC0-----------------------------
  1910. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  1911.     AX = FFC0h
  1912.     ???
  1913. Return: AX = 0000h if successful
  1914.     AX = FFFFh on error
  1915. Note:    available only when popped up
  1916. --------U-16FFC1-----------------------------
  1917. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  1918.     AX = FFC1h
  1919.     BL = ???
  1920.     ES:DI -> data structure (see #0540)
  1921.     ???
  1922. Return: AX = ???
  1923. Note:    available only when popped up
  1924. SeeAlso: AX=FFC2h,AX=FFC3h
  1925.  
  1926. Format of PC Tools DESKTOP data structure:
  1927. Offset    Size    Description    (Table 0540)
  1928.  00h    WORD    ???
  1929.  02h    WORD    ???
  1930.  04h    WORD    ???
  1931.  06h    WORD    ???
  1932.  08h    WORD    ???
  1933.  0Ah    BYTE    ???
  1934.  0Bh    BYTE    ??? (zero/nonzero)
  1935. ---v7.1---
  1936.  0Ch    WORD    ???
  1937.  0Eh    BYTE    ???
  1938.  0Fh    WORD    ???
  1939.  11h    WORD    ???
  1940.     ???
  1941. --------U-16FFC2-----------------------------
  1942. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  1943.     AX = FFC2h
  1944.     BL = ???
  1945.     ES:DI -> data structure (see #0540)
  1946.     ???
  1947. Return: AH = ???
  1948.     CX = ???
  1949.     DH = ???
  1950.     DL = ???
  1951. Note:    available only when popped up
  1952. SeeAlso: AX=FFC1h,AX=FFC3h
  1953. --------U-16FFC3-----------------------------
  1954. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  1955.     AX = FFC3h
  1956.     BL = ???
  1957.     ES:DI -> data structure (see #0540)
  1958.     ???
  1959. Return: AH = ???
  1960.     CX = ???
  1961.     DH = ???
  1962.     DL = ???
  1963. Note:    available only when popped up
  1964. SeeAlso: AX=FFC1h,AX=FFC2h
  1965. --------U-16FFC4-----------------------------
  1966. INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
  1967.     AX = FFC4h
  1968. Return: AL = ???
  1969.     BX = segment of scratch space???
  1970.     CX = segment of stored screen data (section covered by window???)
  1971.     DX = segment of window parameters for ???
  1972.     ES:BP -> ???
  1973. Note:    available only when popped up in versions prior to 6.0
  1974. --------U-16FFC5-----------------------------
  1975. INT 16 U - PC Tools v5.1-8.0 DESKTOP - CHECK WHETHER DESKTOP LOADED RESIDENT
  1976.     AX = FFC5h
  1977. Return: BL = Desktop state
  1978.         00h if nonresident
  1979.         nonzero if loaded resident
  1980. Note:    available only when popped up; should call AX=FFEFh first to ensure
  1981.       that DESKTOP is active
  1982. SeeAlso: AX=FFEFh,AX=FFF3h
  1983. --------U-16FFC6-----------------------------
  1984. INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
  1985.     AX = FFC6h
  1986.     BL = new value for ???
  1987. --------U-16FFC7-----------------------------
  1988. INT 16 U - PC Tools v5.1-8.0 DESKTOP - REMOVE WINDOW
  1989.     AX = FFC7h
  1990.     ???
  1991. Return: ???
  1992. --------U-16FFC8-----------------------------
  1993. INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
  1994.     AX = FFC8h
  1995. Return: DS:SI -> ???
  1996. Note:    valid only while popped up
  1997. --------U-16FFC9-----------------------------
  1998. INT 16 U - PC Tools v5.1-8.0 DESKTOP - COPY DATA TO CLIPBOARD
  1999.     AX = FFC9h
  2000.     DS:SI -> characters to store in clipboard
  2001.     CX = size in bytes
  2002. Return: CF set on error
  2003. Notes:    available only when popped up
  2004.     while copying, bytes of 00h and 0Ah are skipped
  2005. --------U-16FFCA-----------------------------
  2006. INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
  2007.     AX = FFCAh
  2008.     DX = ???
  2009. Return: AX destroyed
  2010. Note:    available only when popped up
  2011. --------U-16FFCB-----------------------------
  2012. INT 16 U - PC Tools v5.1-8.0 DESKTOP - SELECT WINDOW PARAMETERS???
  2013.     AX = FFCBh
  2014.     DX = window specifier???
  2015. Return: AX destroyed
  2016. Note:    available only when popped up
  2017. SeeAlso: AX=FFB5h
  2018. --------U-16FFCC-----------------------------
  2019. INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY ASCIZ STRING CENTERED IN WINDOW
  2020.     AX = FFCCh
  2021.     DS:SI -> ASCIZ string
  2022. Return: AX = ???
  2023.     CX = ???
  2024.     ES:DI -> address past last character displayed (v5.1/5.5)
  2025.           -> ??? on menu bar (v6.0)
  2026. --------U-16FFCD-----------------------------
  2027. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2028.     AX = FFCDh
  2029.     DS:DX -> ???
  2030. Return: ???
  2031. Note:    available only when popped up
  2032. --------U-16FFCE-----------------------------
  2033. INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ??? DELAYS
  2034.     AX = FFCEh
  2035.     CX = ???
  2036. Return: nothing???
  2037. --------U-16FFCF-----------------------------
  2038. INT 16 U - PC Tools v5.1-8.0 DESKTOP - CLOSE PRINTER/PRINT FILE
  2039.     AX = FFCFh
  2040. Note:    available only when popped up
  2041. --------U-16FFD0-----------------------------
  2042. INT 16 U - PC Tools v5.1-8.0 DESKTOP - PREPARE TO PRINT???
  2043.     AX = FFD0h
  2044.     ???
  2045. Return: ???
  2046. Note:    available only when popped up
  2047. --------U-16FFD1-----------------------------
  2048. INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY PRINT OPTIONS MENU
  2049.     AX = FFD1h
  2050. Return: BX = number of copies
  2051.     DX = destination
  2052.         00h cancel
  2053.         01h LPT1
  2054.         02h LPT2
  2055.         03h LPT3
  2056.         04h COM1
  2057.         05h COM2
  2058.         06h disk file
  2059. Note:    available only when popped up
  2060. --------U-16FFD2-----------------------------
  2061. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2062.     AX = FFD2h
  2063.     BX = ???
  2064. Return: BL = ???
  2065. Note:    available only when popped up
  2066. --------U-16FFD3-----------------------------
  2067. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2068.     AX = FFD3h
  2069.     DS:SI -> 92-byte data record for ???
  2070. Return: ???
  2071. SeeAlso: AX=FED3h
  2072. --------U-16FFD4BH3C-------------------------
  2073. INT 16 U - PC Tools v5.1-8.0 DESKTOP - CREATE/OPEN/DELETE FILE
  2074.     AX = FFD4h
  2075.     BH = 3Ch create file (with no attributes)
  2076.          3Dh open file
  2077.          41h delete file
  2078.     BL = access mode
  2079.          00h read only
  2080.          01h write only
  2081.          02h read/write
  2082.     DS:SI -> ASCIZ filename
  2083. Return: BX = file handle
  2084.         0000h on error
  2085. Note:    operation is attempted in (in order) the directory from which the
  2086.       desktop was started/run???, the directory specified with the
  2087.       filename, X:\PCTOOLS\, and X:\
  2088. --------U-16FFD5-----------------------------
  2089. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2090.     AX = FFD5h
  2091.     ???
  2092. Return: ???
  2093. Note:    available only when popped up
  2094. --------U-16FFD6-----------------------------
  2095. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2096.     AX = FFD6h
  2097.     BX = ???
  2098.     CX = ???
  2099.     DX = offset in ???
  2100.     ???
  2101. Return: ???
  2102. Note:    available only when popped up
  2103. --------U-16FFD7-----------------------------
  2104. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2105.     AX = FFD7h
  2106.     ???
  2107. Return: BL = ???
  2108. Note:    available only when popped up
  2109. --------U-16FFD8-----------------------------
  2110. INT 16 U - PC Tools v5.1-8.0 DESKTOP - SAFE CREATE FILE
  2111.     AX = FFD8h
  2112.     DS:BX -> ASCIZ filename
  2113. Return: BX = file handle
  2114.         0000h on error
  2115. Note:    pops up confirmation menu if file already exists
  2116.     only available when popped up???
  2117. --------U-16FFD9-----------------------------
  2118. INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
  2119.     AX = FFD9h
  2120. Return: AX = ???
  2121. Note:    available only when popped up
  2122. --------U-16FFDA-----------------------------
  2123. INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET NAME OF LAST FILE OPENED
  2124.     AX = FFDAh
  2125.     DS:SI -> ??? (v5.1/5.5 only)
  2126. Return: DS:SI -> filename
  2127. --------U-16FFDB-----------------------------
  2128. INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
  2129.     AX = FFDBh
  2130.     BL = ???
  2131. Note:    available only when popped up
  2132. --------U-16FFDC-----------------------------
  2133. INT 16 U - PC Tools v5.1-8.0 DESKTOP - UNHOOK
  2134.     AX = FFDCh
  2135. Return: interrupt vectors 09h, 10h (v6.0+), 16h, 1Ch, and 21h restored to
  2136.       original values
  2137. Index:    uninstall;PC Tools DESKTOP
  2138. --------U-16FFDDBX0000-----------------------
  2139. INT 16 U - PC Tools v5.1+ PCShell API - INSTALLATION CHECK
  2140.     AX = FFDDh
  2141.     BX = 0000h
  2142. Return: CX = 5555h
  2143.     DX = 5555h if PCShell installed in resident mode
  2144. --------U-16FFDDBX0001-----------------------
  2145. INT 16 U - PC Tools v5.1+ PCShell API - REQUEST POP-UP
  2146.     AX = FFDDh
  2147.     BX = 0001h
  2148. Return: CF clear if request successful (PCShell will pop up)
  2149.     CF set on error
  2150. SeeAlso: AX=FFDDh/BX=0003h
  2151. --------U-16FFDDBX0002-----------------------
  2152. INT 16 U - PC Tools v5.1-5.5 PCShell API - GET ???
  2153.     AX = FFDDh
  2154.     BX = 0002h
  2155. Return: AL =
  2156.         00h ???
  2157.         01h ???
  2158. Note:    PCShell v6.0+ displays the error message "Incorrect PCRUN version",
  2159.       awaits a keystroke, and aborts the current process
  2160. --------U-16FFDDBX0003-----------------------
  2161. INT 16 U - PC Tools v5.1+ PCShell API - REQUEST POP-UP
  2162.     AX = FFDDh
  2163.     BX = 0003h
  2164. SeeAlso: AX=FFDDh/BX=0001h
  2165. --------U-16FFDDBX0004-----------------------
  2166. INT 16 U - PC Tools v5.1+ PCShell API - GET ???
  2167.     AX = FFDDh
  2168.     BX = 0004h
  2169. Return: CF clear if successful
  2170.         DS:SI -> ???
  2171. --------U-16FFDDBX0005-----------------------
  2172. INT 16 U - PC Tools v5.1+ PCShell API - ???
  2173.     AX = FFDDh
  2174.     BX = 0005h
  2175.     ???
  2176. Return: ???
  2177. Note:    resets various variables if certain conditions are met
  2178. --------U-16FFDDBX0006-----------------------
  2179. INT 16 U - PC Tools v5.1+ PCShell API - ???
  2180.     AX = FFDDh
  2181.     BX = 0006h
  2182.     ???
  2183. Return: ???
  2184. Note:    resets various variables if certain conditions are met
  2185. --------U-16FFDDBX0007-----------------------
  2186. INT 16 U - PC Tools v5.1+ PCShell API - SET ??? FLAG
  2187.     AX = FFDDh
  2188.     BX = 0007h
  2189. Return: CF clear if successful
  2190. SeeAlso: AX=FFDDh/BX=0008h
  2191. --------U-16FFDDBX0008-----------------------
  2192. INT 16 U - PC Tools v5.1+ PCShell API - CLEAR ??? FLAG
  2193.     AX = FFDDh
  2194.     BX = 0008h
  2195. Return: CF undefined
  2196. SeeAlso: AX=FFDDh/BX=0007h
  2197. --------U-16FFDDBX0009-----------------------
  2198. INT 16 U - PC Tools v6.0+ PCShell API - GET PCRUN PARAMETERS
  2199.     AX = FFDDh
  2200.     BX = 0009h
  2201. Return: CF clear if successful
  2202.         DS:SI -> list of pointers (see #0541)
  2203.  
  2204. Format of PC Tools PCShell returned pointer list:
  2205. Offset    Size    Description    (Table 0541)
  2206.  00h    WORD    offset of WORD containing ???
  2207.  02h    WORD    offset of name of program to execute
  2208.  04h    WORD    offset of 80-byte buffer for ???
  2209.  06h    WORD    offset of buffer for ??? (length in WORD preceding buffer)
  2210.  08h    WORD    offset of buffer for ??? (length in WORD preceding buffer)
  2211. --------U-16FFDDBX000A-----------------------
  2212. INT 16 U - PC Tools v6.0+ PCRUN API - INSTALLATION CHECK
  2213.     AX = FFDDh
  2214.     BX = 000Ah
  2215. Return: CX = 5555h if running
  2216.     DX = 5555h
  2217. Note:    also sets a flag
  2218. --------U-16FFDDBX000B-----------------------
  2219. INT 16 U - PC Tools v6.0+ PCRUN API - ???
  2220.     AX = FFDDh
  2221.     BX = 000Bh
  2222.     ???
  2223. Return: CX = 5555h if PCRUN active
  2224.     DX = 5555h
  2225. Note:    also clears flag set by AX=FFDDh/BX=000Ah
  2226. --------U-16FFDE-----------------------------
  2227. INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY POPUP MENU
  2228.     AX = FFDEh
  2229.     DS:DX -> menu description (must be on a paragraph boundary)
  2230. Return: AX = ???
  2231.         AL seems to be the number of the selected button
  2232. Note:    available only when popped up
  2233. SeeAlso: AX=FFEEh
  2234. --------U-16FFDF-----------------------------
  2235. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2236.     AX = FFDFh
  2237.     ???
  2238. Return: ???
  2239. --------U-16FFE0-----------------------------
  2240. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2241.     AX = FFE0h
  2242.     CX = ???
  2243.     DX = ???
  2244. Note:    available only when popped up
  2245. --------U-16FFE1-----------------------------
  2246. INT 16 U - PC Tools v5.1-8.0 DESKTOP - BEEP
  2247.     AX = FFE1h
  2248. --------U-16FFE2-----------------------------
  2249. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2250.     AX = FFE2h
  2251.     DX = ???
  2252. Return: ???
  2253. Note:    available only when popped up
  2254. --------U-16FFE3-----------------------------
  2255. INT 16 U - PC Tools v5.1-8.0 DESKTOP - PRINT CHARACTER
  2256.     AX = FFE3h
  2257.     BL = character to print to currently open printer or print file
  2258. Return: CF set on error
  2259. Note:    available only when popped up
  2260. SeeAlso: INT 17/AH=00h
  2261. --------U-16FFE4-----------------------------
  2262. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2263.     AX = FFE4h
  2264.     DX = segment of ???
  2265. Return: ???
  2266. Note:    available only when popped up
  2267. --------U-16FFE5-----------------------------
  2268. INT 16 U - PC Tools v5.1-8.0 DESKTOP - POP UP FILE SELECTION MENU
  2269.     AX = FFE5h
  2270.     DS:SI -> ASCIZ wildcard filespec followed by ASCIZ menu title
  2271.     DX = segment of window parameters???
  2272. Return: AX = DOS file handle for file
  2273.         DS:DX -> filename???
  2274.         FFFFh if function cancelled by user
  2275. Note:    available only when popped up
  2276. SeeAlso: AX=FFDAh
  2277. --------U-16FFE6-----------------------------
  2278. INT 16 U - PC Tools v5.1-8.0 DESKTOP - CHECK FOR AND GET KEYSTROKE
  2279.     AX = FFE6h
  2280. Return: AX = 0000h if no key available
  2281.          else  BIOS keycode
  2282. Notes:    available only when popped up
  2283.     invokes INT 28 idle interrupt before checking for key
  2284. --------U-16FFE7-----------------------------
  2285. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2286.     AX = FFE7h
  2287.     BX = segment of ???
  2288. Return: ???
  2289. Note:    available only when popped up
  2290. --------U-16FFE8-----------------------------
  2291. INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY NUMBER
  2292.     AX = FFE8h
  2293.     CX = number
  2294.     DH = attribute
  2295.     DS:SI -> destination for ASCII number
  2296. Return: DS:SI buffer filled in with alternating characters and attributes
  2297. --------U-16FFE9-----------------------------
  2298. INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET FILE LIST???
  2299.     AX = FFE9h
  2300. Return: BX = segment of file/directory list (14 bytes per file, NUL-padded)
  2301. Note:    available only when popped up
  2302. --------U-16FFEA-----------------------------
  2303. INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY COUNTED STRING
  2304.     AX = FFEAh
  2305.     DS:SI -> counted string (count byte followed by string)
  2306. Return: ???
  2307. Note:    available only when popped up
  2308. --------U-16FFEB-----------------------------
  2309. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2310.     AX = FFEBh
  2311.     ???
  2312. Return: ???
  2313. --------U-16FFEC-----------------------------
  2314. INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET KEY
  2315.     AX = FFECh
  2316.     DS:SI -> FAR routine to ???
  2317.     BX = ???
  2318.     ???
  2319. Return: AX = keystroke
  2320.         FFFFh if F10 pressed to go to menu
  2321. Notes:    available only when popped up
  2322.     invokes INT 28 while waiting for keystroke
  2323.     F10 is hotkey to Desktop menu
  2324. Index:    hotkeys;PC Tools DESKTOP
  2325. --------U-16FFED-----------------------------
  2326. INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET ???
  2327.     AX = FFEDh
  2328. Return: AX = ???
  2329. Note:    available only when popped up
  2330. --------U-16FFEE-----------------------------
  2331. INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE PULLDOWN MENUS
  2332.     AX = FFEEh
  2333.     DS:SI -> pulldown menu system description (see #0542)
  2334. Return: AX destroyed
  2335. Notes:    available only when popped up
  2336.     if the accessory does not need any menu items of its own, it should
  2337.       call AX=FFFAh instead
  2338. SeeAlso: AX=FFF7h,AX=FFFAh
  2339.  
  2340. Format of PC Tools DESKTOP pulldown menu system description:
  2341. Offset    Size    Description    (Table 0542)
  2342.  00h    WORD    offset of menu bar contents (counted string)
  2343.  02h    WORD    number of items on menu bar
  2344.  04h 10 BYTEs    scan codes for hotkeying to each of up to ten menu items
  2345.  0Eh 10 BYTEs    which character to highlight in each menu item (01h=first)
  2346.  18h    WORD    offset of first menu definition (see #0543)
  2347.  1Ah    WORD    offset of second menu definition
  2348.     ...
  2349.  
  2350. Format of PC Tools DESKTOP menu definition:
  2351. Offset    Size    Description    (Table 0543)
  2352.  00h    WORD    offset of menu contents (see #0544)
  2353.  02h    WORD    number of entries in menu
  2354.  04h    for each entry:
  2355.         Offset    Size    Description
  2356.          00h    BYTE    scancode of Alt-key to invoke entry
  2357.          01h    BYTE    character to highlight (01h=first, etc)
  2358.          02h    WORD    offset of FAR routine to handle selection
  2359.  
  2360. Format of PC Tools DESKTOP menu contents:
  2361. Offset    Size    Description    (Table 0544)
  2362.  00h    BYTE    number of lines in menu
  2363.  01h    BYTE    width of menu
  2364.  02h  N BYTEs    counted strings, one for each line in menu
  2365. --------U-16FFEFCX0000-----------------------
  2366. INT 16 U - PC Tools v5.1-8.0 DESKTOP - INSTALLATION CHECK
  2367.     AX = FFEFh
  2368.     CX = 0000h
  2369. Return: CX = ABCDh if PC Tools DESKTOP.EXE installed
  2370.         BX = segment of resident portion
  2371.         AX = ??? (v5.1/5.5 only)
  2372. SeeAlso: AX=FEEFh,AX=FFC5h,AX=FFF3h
  2373. --------U-16FFF0-----------------------------
  2374. INT 16 U - PC Tools v5.1-8.0 DESKTOP - SET ???
  2375.     AX = FFF0h
  2376.     DX = ???
  2377. Return: AX destroyed
  2378. Note:    available only when popped up
  2379. --------U-16FFF1BX0000-----------------------
  2380. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ALTERNATE INSTALLATION CHECK
  2381.     AX = FFF1h
  2382.     BX = 0000h  leave ??? flag as is
  2383.         nonzero set ??? flag
  2384. Return: CX = 5555h if installed
  2385.     DX = 5555h
  2386. --------U-16FFF2-----------------------------
  2387. INT 16 U - PC Tools v5.1-8.0 DESKTOP - DISPLAY HELP LINE
  2388.     AX = FFF2h
  2389.     DS:SI -> ASCIZ function key label string (each label preceded by '[')
  2390.         or help text
  2391. Return: AX destroyed
  2392. Notes:    available only when popped up
  2393.     if the specified string does not start with '[', it is displayed
  2394.       centered on the bottom line, else the function key labels are shown
  2395. --------U-16FFF3-----------------------------
  2396. INT 16 U - PC Tools v5.1-8.0 DESKTOP - PREPARE TO UNLOAD RESIDENT DESKTOP
  2397.     AX = FFF3h
  2398. Note:    releases any EMS being used; restores video mode, page, and cursor
  2399.       shape; and restores interrupt vectors
  2400. SeeAlso: AX=FFC5h,AX=FFEFh
  2401. Index:    uninstall;PC Tools DESKTOP
  2402. --------U-16FFF4-----------------------------
  2403. INT 16 U - PC Tools v5.1-8.0 DESKTOP - ???
  2404.     AX = FFF4h
  2405.     ???
  2406. Return: ???
  2407. Note:    available only when popped up
  2408. SeeAlso: AX=FFF6h
  2409. --------U-16FFF5-----------------------------
  2410. INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET SCREEN ATTRIBUTE ARRAY
  2411.     AX = FFF5h
  2412. Return: ES:BX -> screen attributes data structure (see #0545)
  2413.     AL = ??? (v6.0+)
  2414.  
  2415. Format of PC Tools DESKTOP attribute data structure:
  2416. Offset    Size    Description    (Table 0545)
  2417.  -1    BYTE    attribute for desktop background
  2418.  00h    BYTE    attribute for normal characters on desktop menu
  2419.  01h    BYTE    attribute for highlighted characters on desktop menu
  2420.  02h  5 BYTEs    ???
  2421.  07h    BYTE    attribute for dialog boxes
  2422.  08h 15 BYTEs    ???
  2423.  17h    BYTE    attribute for message boxes
  2424. --------U-16FFF6-----------------------------
  2425. INT 16 U - PC Tools v5.1-8.0 DESKTOP - INVOKE NOTEPAD EDITOR
  2426.     AX = FFF6h
  2427.     DS = segment of editor buffer structure (see #0546)
  2428.     BX = ???
  2429.     DX = segment of window parameters structure (see #0539)
  2430. Return: ???
  2431. Note:    available only when popped up
  2432. SeeAlso: AX=FFF4h
  2433.  
  2434. Format of PC Tools DESKTOP editor buffer structure:
  2435. Offset    Size    Description    (Table 0546)
  2436.  00h    WORD    offset of current cursor position in buffer segment
  2437.  02h  2 BYTEs    ???
  2438.  04h    WORD    offset of beginning of file data in buffer segment
  2439.  06h 10 BYTEs    ???
  2440.  10h  N BYTEs    ASCIZ name of file being edited
  2441. --------U-16FFF7-----------------------------
  2442. INT 16 U - PC Tools v5.1-8.0 DESKTOP - PROCESS MENU BAR ENTRY???
  2443.     AX = FFF7h
  2444.     DS:SI -> ???
  2445.     ???
  2446. Return: ???
  2447. Notes:    available only when popped up
  2448.     performs input processing on the menu bar set up with AX=FFEEh
  2449. SeeAlso: AX=FFEEh,AX=FFFBh
  2450. --------U-16FFF8-----------------------------
  2451. INT 16 U - PC Tools v5.1-8.0 DESKTOP - DRAW EMPTY WINDOW
  2452.     AX = FFF8h
  2453.     DS:0000h -> window parameters structure (see #0539)
  2454.     DS:BX -> DWORD to store address of ??? on screen
  2455. Return: ???
  2456. --------U-16FFF9-----------------------------
  2457. INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE SCREEN REFRESH ROUTINE
  2458.     AX = FFF9h
  2459.     ES:BX -> FAR routine to redisplay the utility's window
  2460. Note:    available only when popped up
  2461. --------U-16FFFA-----------------------------
  2462. INT 16 U - PC Tools v5.1-8.0 DESKTOP - DEFINE STANDARD PULLDOWN MENUS
  2463.     AX = FFFAh
  2464. Notes:    available only when popped up
  2465.     adds the "Window" option to the "Desktop" option which is the only one
  2466.       available when no accessories are active.  Unlike AX=FFEEh, no
  2467.       additional menu items are added between "Desktop" and "Window"
  2468. SeeAlso: AX=FFEEh,AX=FFFBh
  2469. --------U-16FFFB-----------------------------
  2470. INT 16 U - PC Tools v5.1-8.0 DESKTOP - PROCESS STANDARD MENU BAR
  2471.     AX = FFFBh
  2472. Return: ???
  2473. Notes:    available only when popped up
  2474.     performs input processing on the standard menu bar set up with AX=FFFAh
  2475. SeeAlso: AX=FFF7h
  2476. --------U-16FFFC-----------------------------
  2477. INT 16 U - PC Tools v5.1-8.0 DESKTOP - GET HOTKEYS AND KEYBOARD VECTOR
  2478.     AX = FFFCh
  2479. Return: ES:BX -> hotkey table (see #0547)
  2480.     DS:DX = original INT 09 vector
  2481.  
  2482. Format of PC Tools DESKTOP hotkey table:
  2483. Offset    Size    Description    (Table 0547)
  2484.  00h  2 BYTEs    scancode/shift state for desktop hotkey
  2485.  02h  2 BYTEs    scancode/shift state for clipboard paste key
  2486.  04h  2 BYTEs    scancode/shift state for clipboard copy key
  2487.  06h  2 BYTEs    scancode/shift state for screen autodial key
  2488. --------U-16FFFD-----------------------------
  2489. INT 16 U - PC Tools v5.1-8.0 DESKTOP - COPY ???
  2490.     AX = FFFDh
  2491. Return: AX destroyed
  2492. Note:    copies 4000 bytes from ??? to ??? under certain circumstances
  2493. SeeAlso: AX=FF91h,AX=FF92h
  2494. --------M-16FFFE-----------------------------
  2495. INT 16 U - PC Tools v5.1-8.0 DESKTOP - SHOW MOUSE CURSOR
  2496.     AX = FFFEh
  2497. SeeAlso: AX=FFFFh,INT 33/AX=0001h
  2498. --------M-16FFFF-----------------------------
  2499. INT 16 U - PC Tools v5.1-8.0 DESKTOP - HIDE MOUSE CURSOR
  2500.     AX = FFFFh
  2501. SeeAlso: AX=FFFEh,INT 33/AX=0002h
  2502. --------P-17----DX0ABC-----------------------
  2503. INT 17 - PRINTER - LPTx v5.x INSTALLATION CHECK
  2504.     DX = 0ABCh
  2505. Return: AX = AAAAh
  2506.     DX = BAAAh
  2507.     ES = code segment of resident portion
  2508. --------P-17----DX0B90-----------------------
  2509. INT 17 - PRINTER - LPTx v6.x INSTALLATION CHECK
  2510.     DX = 0B90h
  2511. Return: DX = ABBBh
  2512.     ES = code segment of resident portion
  2513. --------P-17----DX0B91-----------------------
  2514. INT 17 - PRINTER - LPTx v7.x INSTALLATION CHECK
  2515.     DX = 0B91h
  2516. Return: DX = ABCBh
  2517.     ES = code segment of resident portion
  2518. --------P-17----DX0F5F-----------------------
  2519. INT 17 - PRINTER - LPTx v4.x INSTALLATION CHECK
  2520.     DX = 0F5Fh
  2521. Return: AX = AAAAh
  2522.     DX = F555h
  2523.     ES = code segment of resident portion
  2524. --------B-1700-------------------------------
  2525. INT 17 - PRINTER - WRITE CHARACTER
  2526.     AH = 00h
  2527.     AL = character to write
  2528.     DX = printer number (00h-02h)
  2529. Return: AH = printer status (see #0548)
  2530. SeeAlso: AH=02h,AH=84h"AX",AX=6F02h,AH=F1h,INT 16/AX=FFE3h,INT 1A/AH=11h"NEC"
  2531. SeeAlso: INT 4B/AH=00h
  2532.  
  2533. Bitfields for printer status:
  2534. Bit(s)    Description    (Table 0548)
  2535.  7    not busy
  2536.  6    acknowledge
  2537.  5    out of paper
  2538.  4    selected
  2539.  3    I/O error
  2540.  2-1    unused
  2541.  0    timeout
  2542. Note:    for Tandy 2000, bit 7 indicates printer-busy when set rather than clear
  2543. --------B-1701-------------------------------
  2544. INT 17 - PRINTER - INITIALIZE PORT
  2545.     AH = 01h
  2546.     DX = printer number (00h-02h)
  2547. Return: AH = printer status (see #0548)
  2548. Note:    some printers report that they are ready immediately after
  2549.       initialization when they actually are not; a more reliable result may
  2550.       be obtained by calling AH=02h after a brief delay
  2551. SeeAlso: AH=02h,AH=FFh"PC-MOS",INT 1A/AH=10h"NEC",INT 4B/AH=01h
  2552. --------B-1702-------------------------------
  2553. INT 17 - PRINTER - GET STATUS
  2554.     AH = 02h
  2555.     DX = printer number (00h-02h)
  2556. Return: AH = printer status (see #0548)
  2557. Note:    PRINTFIX from MS-DOS 5.0 hooks this function and always returns AH=90h
  2558. SeeAlso: AH=01h,AH=F2h,INT 1A/AH=12h"NEC",INT 4B/AH=02h
  2559. --------P-1702--DX0000-----------------------
  2560. INT 17 - INSET - INSTALLATION CHECK
  2561.     AH = 02h
  2562.     DX = 0000h
  2563.     CX = 07C3h (1987d)
  2564. Return: CX = 07C2h (1986d) if installed
  2565. Program: INSET is a text/graphics integration program
  2566. --------b-170200BX5050-----------------------
  2567. INT 17 - Enhanced Parallel Port (EPP) BIOS - INSTALLATION CHECK
  2568.     AX = 0200h
  2569.     BX = 5050h ('PP')
  2570.     CH = 45h   ('E')
  2571.     DX = printer port number (00h-02h)
  2572. Return: AH = status
  2573.         00h if installed and port is an enhanced parallel port
  2574.         CX:AL = installed BIOS type
  2575.             5050h:45h ('PPE') if EPP v3.0+ BIOS installed
  2576.             4550h:50h ('EPP') if EPP v1.0 BIOS installed
  2577.         ---EPP 1.0, 3.0---
  2578.         DX:BX -> far entry point to Advanced BIOS (see #0549)
  2579.         ---EPP Revision 7---
  2580.         DX = EPP I/O base address
  2581.         ES:BX -> far entry point to EPP BIOS (see #0549,#0550)
  2582.         03h if installed but specified port not supported
  2583.         CF set
  2584. Program: The Enhanced Parallel Port BIOS provides support for parallel
  2585.       port peripherals using the enhanced modes of the IEEE 1284.
  2586. SeeAlso: AH=E0h,MEM 0040h:0008h,MEM 0040h:00DCh
  2587.  
  2588. (Table 0549)
  2589. Call EPP BIOS entry point with:
  2590.     DL = port number (v1.0,v3.0)
  2591.     DX = (Revision 7) EPP port I/O base address
  2592.     AH = function
  2593.         00h Query Configuration
  2594.         Return: AH = 00h if successful
  2595.                 AL = IRQ number used by port or FFh if no IRQ
  2596.                 BH = EPP BIOS revision (major in high nybble,
  2597.                   minor in low nybble)
  2598.                 BL = I/O capabilities (see #0552)
  2599.                 ES:DI -> ASCIZ driver information/version text
  2600.                 ---v1.0,v3.0---
  2601.                 CX = I/O port base address for parallel port
  2602.                 ---Revision 7---
  2603.                 CL = EPP chipset code (see #0553)
  2604.                 CH = hardware manufacturer's product code
  2605.         01h Set Mode
  2606.         AL = mode bits (see #0554)
  2607.         Return: AX,BX destroyed
  2608.         02h Get Mode
  2609.         Return: AL = mode bits (see also #0554)
  2610.                 bit 7: EPP port interrupts enabled
  2611.             AH = 00h
  2612.             CF clear
  2613.             BX destroyed
  2614.         03h Interrupt Control
  2615.         AL = subfunction
  2616.             00h enable parallel port interrupts
  2617.             01h disable parallel port interrupts
  2618.         Return: AH = status (00h,05h,06h) (see also #0551)
  2619.         04h EPP Reset
  2620.         Return: AH = 00h if successful
  2621.             AL destroyed
  2622.         05h perform Address-Write/Device-Select I/O cycle
  2623.         AL = device address
  2624.         Return: AH = status
  2625.             AL destroyed
  2626.         06h perform Address-Read I/O cycle
  2627.         Return: AL = returned address/device data
  2628.             AH = status
  2629.         07h write byte
  2630.         AL = data byte to write
  2631.         Return: AH = status
  2632.         08h output block of data
  2633.         DS:SI -> block of data to be sent to parallel port
  2634.         CX = number of bytes to output
  2635.         Return: AH = status (see #0551)
  2636.             CX = number of unsent bytes
  2637.         09h read byte of data
  2638.         Return: AH = status (see #0551)
  2639.             AL = byte read from parallel port
  2640.         0Ah read block of data
  2641.         ES:DI -> buffer for received data
  2642.         CX = number of bytes to read from paralle port
  2643.         Return: AH = status (see #0551)
  2644.             ES:DI buffer filled if successful
  2645.             CX = number of bytes not transferred
  2646.         0Bh Address/Byte-Read
  2647.         AL = device address
  2648.         Return: AH = status (see #0551)
  2649.             AL = byte read if successful
  2650.         0Ch Address/Byte-Write
  2651.         AL = device address
  2652.         DH = data byte (v1.0,v3.0)
  2653.         CL = data byte (Revision 7)
  2654.         Return: AH = status (see #0551)
  2655.         0Dh Address/Block-Read
  2656.         AL = device address
  2657.         ES:DI -> buffer for received data
  2658.         CX = number of bytes to read
  2659.         Return: AH = status (see #0551)
  2660.             CX = number of bytes NOT transferred
  2661.         0Eh Address/Block-Write
  2662.         AL = device address
  2663.         ES:DI -> data to be sent (v1.0,v3.0)
  2664.         DS:SI -> data to be send (Revision 7)
  2665.         CX = number of bytes to write
  2666.         Return: AH = status (see #0551)
  2667.             CX = number of bytes NOT transferred
  2668.         0Fh Lock Port
  2669.         AL = multiplexor port number
  2670.             bits 7-4: daisy chain port number (1-8)
  2671.             bits 3-0: mux device port number (1-8, 0 if no mux)
  2672.         Return: AH = status (00h,03h,05h) (see #0551)
  2673.         10h Unlock Port
  2674.         AL = multiplexor port number
  2675.             bits 7-4: daisy chain port number (1-8)
  2676.             bits 3-0: mux device port number (1-8, 0 if no mux)
  2677.         Return: AH = status (00h,03h,05h) (see #0551)
  2678.         11h Device Interrupt
  2679.         BL = multiplexor port number
  2680.             00h if no multiplexor, else mux device port (01h-08h)
  2681.         AL = subfunction
  2682.             00h disable device interrupts
  2683.             01h enable device interrupt
  2684.             ES:DI -> interrupt event handler
  2685.         Return: AH = status (00h,03h,05h,06h) (see #0551)
  2686.         Note:    AMI BIOS v1.00.12.AX1T ignores the multiplexor port
  2687.               number; it also always sets INT 0F to the address
  2688.               specified in ES:DI
  2689.         12h Real-Time Mode
  2690.         AL = subfunction
  2691.             00h check whether any real-time devices present
  2692.             01h add (advertise) real-time device
  2693.             02h remove real-time device
  2694.         Return: AH = status (00h,05h,06h,07h) (see #0551)
  2695.             AL = real-time devices present? (00h no, 01h yes)
  2696.         Note:    unlike all other functions, this one does not use DL/DX
  2697. Return: AH = status (see #0551)
  2698.     CF clear if successful
  2699.     CF set on error
  2700.     BX destroyed
  2701. SeeAlso: #0550
  2702.  
  2703. (Table 0550)
  2704. Call EPP BIOS (Revision 7) entry point multiplexor functions with:
  2705.     DX = EPP port base I/O address
  2706.     AH = function
  2707.         40h Query Mux
  2708.         Return: AH = status (see #0551)
  2709.             AL = currently-selected port
  2710.             CH = status flags
  2711.                 bit 0: channel locked
  2712.                 bit 1: interrupt pending
  2713.             BH destroyed
  2714.         Note:    the PhoenixBIOS v4.0 documentation lists BL as the
  2715.               currently-selected port and AL as the status flags
  2716.         41h Query Device Port
  2717.         AL = EPP multiplex device port (1-8)
  2718.         Return: AH = status (see #0551)
  2719.             CH = status flags (see #0555)
  2720.             BX = EPP product/device ID (0000h if undefined)
  2721.         Note:    the PhoenixBIOS v4.0 documentation lists AL as the
  2722.               status flags and CX as the device ID
  2723.         42h Set Product ID
  2724.         AL = EPP multiplex device port (1-8)
  2725.         CX = EPP product ID
  2726.         Return: AH = status (see #0551)
  2727.             BX destroyed
  2728.         50h Query Daisy Chain
  2729.         AL = EPP multiplexor device port (1-8)
  2730.         Return: AH = status (see #0551)
  2731.             CH = status flags
  2732.                 bit 0: channel locked
  2733.                 bit 1: interrupt pending
  2734.             BL = currently-selected device
  2735.             BH = EPP daisy chain revision (high nybble = major)
  2736.             CL = daisy-chain depth (00h if no daisy chain)
  2737.             ES:DI -> ASCIZ driver vendor identification string
  2738.         Note:    the PhoenixBIOS v4.0 documentation lists AH=51h as
  2739.               "Query Daisy Chain" and BL as the multiplexor port;
  2740.               it also lists AL as status flags on return
  2741.         51h Rescan Daisy Chain (dynamically reassign port numbers)
  2742.         AL = EPP multiplexor device port (1-8)
  2743.         Return: AH = status (see #0551)
  2744.             BX destroyed
  2745.         Note:    the PhoenixBIOS v4.0 documentation lists AH=50h as
  2746.               "Rescan Daisy Chain" and BL as the multiplexor port
  2747. Notes:    these functions are only valid if a port multiplexor or daisy chain
  2748.       is present
  2749.     PhoenixBIOS 4.0 documents function 50h as "Rescan" and 51h as
  2750.       "Query Daisy Chain"
  2751. SeeAlso: #0549,INT 2D/AL=DCh
  2752.  
  2753. (Table 0551)
  2754. Values for EPP BIOS function status:
  2755.  00h    successful
  2756.  02h    unsupported command/feature
  2757.  03h    unsupported parallel port
  2758.  05h    unsupported in current mode
  2759.  06h    invalid subfunction
  2760.  07h    already ???
  2761.  20h    multiplexor not present (AMI)
  2762.  40h    multiplexor not present
  2763.  41h    multiplexor currently locked
  2764.  80h    I/O timeout
  2765.  FFh    invalid/unsupported function
  2766. SeeAlso: #0549,#0550
  2767.  
  2768. Bitfields for EPP (v3.0, Revision 7) I/O capabilities:
  2769. Bit(s)    Description    (Table 0552)
  2770.  0    multiplexor present
  2771.  1    PS/2 bi-directional capable
  2772.  2    daisy chain present
  2773.  3    ECP capable
  2774.  4    EPP software emulation supported
  2775.  5    EPP capable
  2776.  6    fast Centronics supported
  2777.  7    standard EPP I/O map
  2778. SeeAlso: #0549
  2779.  
  2780. (Table 0553)
  2781. Values for EPP (Revision 7) chipset code:
  2782.  00h    Intel SL
  2783.  01h    FarPoint Communications
  2784.  02h    SMC
  2785.  03h    Chips&Technologies
  2786.  04h    Western Digital
  2787.  05h    National Semiconductor
  2788. SeeAlso: #0549
  2789.  
  2790. Bitfields for EPP BIOS mode bits:
  2791. Bit(s)    Description    (Table 0554)
  2792.  0    set compatibility mode
  2793.  1    set bi-directional mode
  2794.  2    set EPP mode
  2795. ---Revision 7,v3.0---
  2796.  3    set ECP mode
  2797.  4    set EPP software emulation
  2798.  5    set fast Centronics mode
  2799.  6-7 reserved (0)
  2800. SeeAlso: #0549,#M052
  2801.  
  2802. Bitfields for EPP BIOS multiplex status flags:
  2803. Bit(s)    Description    (Table 0555)
  2804.  0    port is selected
  2805.  1    port is locked
  2806.  2    interrupts are enabled
  2807.  3    interrupt pending
  2808. SeeAlso: #0550
  2809. --------P-1703-------------------------------
  2810. INT 17 U - Emulaser ELTSR - INSTALL INTERRUPT HANDLERS
  2811.     AH = 03h
  2812. Return: BX = ???
  2813.     CX = ???
  2814. Program: ELTSR is the resident portion of the Emulaser PostScript emulator by
  2815.       Vertisoft Systems, Inc.
  2816. SeeAlso: AH=04h"Emulaser",AH=0Eh,INT 1A/AH=E5h
  2817. ----------1703-------------------------------
  2818. INT 17 - IBM SurePath BIOS - Officially "Private" Function
  2819.     AH = 03h
  2820. SeeAlso: AH=04h"IBM",AH=05h"IBM"
  2821. --------c-1703-------------------------------
  2822. INT 17 - PC-MOS/386 v5.01 - PRINT SPOOLER - PRINT STRING
  2823.     AH = 03h
  2824.     DX = printer port number
  2825.     CX = number of characters to print
  2826.     DS:SI -> string
  2827. Return: AH = printer status (see #0548)
  2828.     CX = number of characters actually printed
  2829. Desc:    send an entire string of chars to the print spooler with a single call
  2830. Program: PC-MOS/386 v5.01 is a multitasking, multiuser MS-DOS 5.0-compatible
  2831.       operating system by The Software Link, Inc.
  2832. SeeAlso: AH=00h,AH=01h,AH=02h,AH=FFh"PC-MOS"
  2833. --------c-1703--BX5A00-----------------------
  2834. INT 17 - DMP Print Spooler v2.03 - INSTALLATION CHECK
  2835.     AH = 03h
  2836.     BX = 5A00h
  2837. Return: AX = 5ACBh
  2838.     DI = 0000h
  2839.     ES = DMP code segment (also data segment)
  2840. Program: DMP is a Printer driver/spooler, by DMP (USA), available on the
  2841.       PCTODAY disk, volume 10, March 1991
  2842. --------N-170300-----------------------------
  2843. INT 17 - DOSISODE to WATTCP TSR Interface - "socket"
  2844.     AX = 0300h
  2845.     CX = type of socket from  socket( domain, type, protocol )
  2846.     DX = local identifier of socket (0 - 31)
  2847. Return: AX = 0000h success
  2848.         CX = segment of 4500 byte transfer buffer
  2849.         DX = offset of 4500 byte transfer buffer
  2850.        = FFFFH failure
  2851.         CX = error code
  2852.         ENFILE        23
  2853. Program: DOSISODE is the ISO developers environment which has been ported to
  2854.       DOS and will run with the Waterloo TCP turned into a resident TSR.
  2855.       Currently it allows a maximum of 6 open sockets.
  2856. Note:    this function will initialize the interface the first time it is
  2857.       called
  2858. SeeAlso: AX=0400h"DOSISODE",AX=0600h"DOSISODE",AX=0800h"DOSISODE"
  2859. SeeAlso: AX=0A00h"DOSISODE",AX=0C00h"DOSISODE",AX=0E00h"DOSISODE"
  2860. --------P-1704-------------------------------
  2861. INT 17 U - Emulaser ELTSR - BEGIN CAPTURING OUTPUT
  2862.     AH = 04h
  2863. Note:    has no effect unless ELTSR is deactivated (see AX=0503h)
  2864. SeeAlso: AH=03h"Emulaser",AX=0503h,INT 1A/AH=E5h
  2865. ----------1704-------------------------------
  2866. INT 17 - IBM SurePath BIOS - Officially "Private" Function
  2867.     AH = 04h
  2868. SeeAlso: AH=03h"IBM",AH=05h"IBM"
  2869. --------N-170400-----------------------------
  2870. INT 17 - DOSISODE to WATTCP TSR Interface - "bind"
  2871.     AX = 0400h
  2872. Note:    this function just returns
  2873. SeeAlso: AX=0300h"DOSISODE",AX=0500h"DOSISODE",AX=0C00h"DOSISODE"
  2874. ----------1705-------------------------------
  2875. INT 17 - IBM SurePath BIOS - Officially "Private" Function
  2876.     AH = 05h
  2877. SeeAlso: AH=03h"IBM",AH=04h"IBM"
  2878. --------P-170500-----------------------------
  2879. INT 17 U - Emulaser ELTSR - ???
  2880.     AX = 0500h
  2881.     ???
  2882. Return: AX = unload status (0001h safe to unload, 0002h not safe)
  2883.     BX = ???
  2884.     CX = PSP segment of ELTSR
  2885.     DX = activity flag (0000h disabled, 0001h capturing, 0002h ???printing)
  2886.     SI = ???
  2887.     DI = ???
  2888. SeeAlso: AH=04h,INT 1A/AH=E5h
  2889. --------N-170500-----------------------------
  2890. INT 17 - DOSISODE to WATTCP TSR Interface - "connect"
  2891.     AX = 0500h
  2892. SeeAlso: AX=0400h"DOSISODE",AX=0700h"DOSISODE",AX=0C00h"DOSISODE"
  2893. --------P-170501-----------------------------
  2894. INT 17 U - Emulaser ELTSR - UNHOOK INTERRUPTS
  2895.     AX = 0501h
  2896. Return: (see AX=0500h)
  2897. Note:    restores interrupt vectors without checking whether they have been
  2898.       hooked by later programs; should only be called if ELTSR reports
  2899.       that it is safe to unload
  2900. SeeAlso: AH=04h,AX=0500h,AX=0503h,INT 1A/AH=E5h
  2901. Index:    uninstall;Emulaser ELTSR
  2902. --------P-170502-----------------------------
  2903. INT 17 U - Emulaser ELTSR - SET ???
  2904.     AX = 0502h
  2905.     BL = Emulaser port (31h = LPT1, 32h = LPT2, 33h = LPT3)
  2906.     CL = ???
  2907.     DL = ???
  2908. Return: (see AX=0500h)
  2909. SeeAlso: AH=04h,AX=0500h,INT 1A/AH=E5h
  2910. --------P-170503-----------------------------
  2911. INT 17 U - Emulaser ELTSR - DEACTIVATE???
  2912.     AX = 0503h
  2913. Return: (see AX=0500h)
  2914. SeeAlso: AH=04h,AX=0500h,AX=0501h,INT 1A/AH=E5h
  2915. --------P-1706-------------------------------
  2916. INT 17 U - Emulaser ELTSR - ???
  2917.     AH = 06h
  2918.     ???
  2919. Return: ???
  2920. SeeAlso: AX=0500h,AX=0503h,AH=07h"ELTSR",INT 1A/AH=E5h
  2921. --------N-170600-----------------------------
  2922. INT 17 - DOSISODE to WATTCP TSR Interface - "listen"
  2923.     AX = 0600h
  2924. Note:    this function just returns
  2925. SeeAlso: AX=0300h"DOSISODE",AX=0700h"DOSISODE",AX=0C00h"DOSISODE"
  2926. SeeAlso: AX=0E00h"DOSISODE"
  2927. --------P-1707-------------------------------
  2928. INT 17 U - Emulaser ELTSR - OPEN CAPTURE FILE
  2929.     AH = 07h
  2930.     ES:DX -> ASCIZ filename to be opened
  2931. Return: ???
  2932. Note:    new output will be appended to the specified file
  2933. SeeAlso: AH=08h,INT 1A/AH=E5h
  2934. --------N-170700-----------------------------
  2935. INT 17 - DOSISODE to WATTCP TSR Interface - "accept"
  2936.     AX = 0700h
  2937. Note:    this function just returns
  2938. SeeAlso: AX=0600h"DOSISODE",AX=0800h"DOSISODE",AX=0C00h"DOSISODE"
  2939. --------P-1708-------------------------------
  2940. INT 17 U - Emulaser ELTSR - CLOSE CAPTURE FILE
  2941.     AH = 08h
  2942.     ???
  2943. Return: ???
  2944. Desc:    close the file previously opened by function 07h
  2945. SeeAlso: AH=07h,INT 1A/AH=E5h
  2946. --------N-170800-----------------------------
  2947. INT 17 - DOSISODE to WATTCP TSR Interface - "recvfrom"
  2948.     AX = 0800h
  2949. SeeAlso: AX=0500h"DOSISODE",AX=0900h"DOSISODE",AX=0A00h"DOSISODE"
  2950. --------P-1709-------------------------------
  2951. INT 17 U - Emulaser ELTSR - PRINT CAPTURE FILE???
  2952.     AH = 09h
  2953.     BX = ???
  2954.     CX = ???
  2955.     DX = printer port (01h COM1, 02h COM2, 05h LPT1, 06h LPT2)
  2956. Return: AX = status
  2957.         00h successful
  2958.         FFh failed
  2959. Program: ELTSR is the resident portion of the Emulaser PostScript emulator by
  2960.       Vertisoft Systems, Inc.
  2961. Note:    this function calls through to INT 1A/AX=E401h, and thus requires
  2962.       that either ELSPL or Disk Spool II be installed
  2963. SeeAlso: AH=0Ah,INT 1A/AX=E401h,INT 1A/AH=E5h
  2964. --------N-170900-----------------------------
  2965. INT 17 - DOSISODE to WATTCP TSR Interface - "sendto"
  2966.     AX = 0900h
  2967. SeeAlso: AX=0700h"DOSISODE",AX=0800h"DOSISODE",AX=0A00h"DOSISODE"
  2968. --------P-170A-------------------------------
  2969. INT 17 U - Emulaser ELTSR - SET ??? FILENAME
  2970.     AH = 0Ah
  2971.     ES:BX -> ??? buffer
  2972.     CX = length of ??? buffer
  2973. Return: ???
  2974. Note:    copies the specified name into the buffer passed to ELSPL as the
  2975.       filename by AH=09h
  2976. SeeAlso: AH=09h,INT 1A/AH=E5h
  2977. --------N-170A00-----------------------------
  2978. INT 17 - DOSISODE to WATTCP TSR Interface - "select"
  2979.     AX = 0A00h
  2980. SeeAlso: AX=0800h"DOSISODE",AX=0B00h"DOSISODE",AX=0E00h"DOSISODE"
  2981. --------P-170B-------------------------------
  2982. INT 17 U - Emulaser ELTSR - GET ???
  2983.     AH = 0Bh
  2984. Return: AX:BX -> ???
  2985. SeeAlso: AH=0Ah,INT 1A/AH=E5h
  2986. ----------170B-------------------------------
  2987. INT 17 - IBM SurePath BIOS - Officially "Private" Function
  2988.     AH = 0Bh
  2989. SeeAlso: AH=03h"IBM",AH=0Ch"IBM"
  2990. --------N-170B00-----------------------------
  2991. INT 17 - DOSISODE to WATTCP TSR Interface - "ioctl"
  2992.     AX = 0B00h
  2993.     DX = local identifier of socket (0 - 31)
  2994. Note:    this function sets the socket into non_block mode
  2995. SeeAlso: AX=0A00h"DOSISODE",AX=0C00h"DOSISODE",AX=0E00h"DOSISODE"
  2996. --------P-170C-------------------------------
  2997. INT 17 U - Emulaser ELTSR - SET ??? FLAG
  2998.     AH = 0Ch
  2999.     ???
  3000. Return: ???
  3001. SeeAlso: AH=0Bh,INT 1A/AH=E5h
  3002. ----------170C-------------------------------
  3003. INT 17 - IBM SurePath BIOS - Officially "Private" Function
  3004.     AH = 0Ch
  3005. SeeAlso: AH=0Bh"IBM",AH=0Dh"IBM"
  3006. --------N-170C00-----------------------------
  3007. INT 17 - DOSISODE to WATTCP TSR Interface - "close"
  3008.     AX = 0C00h
  3009. SeeAlso: AX=0300h"DOSISODE",AX=0500h"DOSISODE",AX=0D00h"DOSISODE"
  3010. --------P-170D-------------------------------
  3011. INT 17 U - Emulaser ELTSR - GET TRUE ScrlLk STATE
  3012.     AH = 0Dh
  3013. Return: AX = state (0000h off, 0010h on)
  3014. Desc:    determine the actual state of ScrlLk even when Emulaser is controlling
  3015.       the ScrlLk light as its activity indicator
  3016. SeeAlso: AH=0Ch,INT 16/AH=02h,INT 1A/AH=E5h
  3017. ----------170D-------------------------------
  3018. INT 17 - IBM SurePath BIOS - Officially "Private" Function
  3019.     AH = 0Dh
  3020. SeeAlso: AH=0Ch"IBM",AH=0Eh"IBM"
  3021. --------N-170D00-----------------------------
  3022. INT 17 - DOSISODE to WATTCP TSR Interface - "shutdown" - SHUTDOWN INTERFACE
  3023.     AX = 0D00h
  3024. Note:    this function is used to shutdown the interface
  3025. SeeAlso: AX=0C00h"DOSISODE",AX=0E00h"DOSISODE"
  3026. --------P-170E-------------------------------
  3027. INT 17 U - Emulaser ELTSR - BACKGROUND PROCESSING
  3028.     AH = 0Eh
  3029. Program: ELTSR is the resident portion of the Emulaser PostScript emulator by
  3030.       Vertisoft Systems, Inc.
  3031. Note:    this function is called by ELTSR on every INT 08 to allow data to be
  3032.       processed in the background, but may also be called by applications
  3033.       to give Emulaser additional CPU time
  3034. SeeAlso: AH=0Dh,INT 1A/AH=E5h
  3035. ----------170E-------------------------------
  3036. INT 17 - IBM SurePath BIOS - Officially "Private" Function
  3037.     AH = 0Eh
  3038. SeeAlso: AH=03h"IBM",AH=0Dh"IBM",AH=80h"IBM"
  3039. --------N-170E00-----------------------------
  3040. INT 17 - DOSISODE to WATTCP TSR Interface - INSTALLATION CHECK
  3041.     AX = 0E00h
  3042. Return: CX = 1234h if installed
  3043. Program: DOSISODE is the ISO developers environment which has been ported to
  3044.       DOS and will run with the Waterloo TCP turned into a resident TSR.
  3045.       Currently it allows a maximum of 6 open sockets.
  3046. Note:    this function is used to check if the interface is loaded
  3047. SeeAlso: AX=0300h"DOSISODE",AX=0A00h"DOSISODE"
  3048. --------P-172000-----------------------------
  3049. INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - INSTALLATION CHECK
  3050.     AX = 2000h
  3051.     BL = printer number???
  3052. Return: AX = status (see #0556)
  3053.     BX = driver version number (BH=major,BL=minor)
  3054.     CH = ??? (00h)
  3055.     CL = ???
  3056.     DX = ??? (0100h)
  3057. Note:    also enables the remaining printer driver functions (2001h-2007h)
  3058. SeeAlso: AX=2001h,AX=2002h,AX=2003h,AX=2004h,AX=2005h,AX=2006h,AX=2007h
  3059.  
  3060. (Table 0556)
  3061. Values for PC Paint function status:
  3062.  0000h    successful
  3063.  0001h    invalid printer???
  3064.  0002h    ???
  3065.  0003h    invalid subfunction
  3066.  0005h    driver disabled, must call function 00h first
  3067.  0009h    unknown printer error
  3068.  000Bh    printer not selected
  3069.  000Ch    printer out of paper
  3070.  000Eh    error while writing to serial printer
  3071.  000Fh    ???
  3072.  0010h    invalid function number
  3073.  0011h    value out of range
  3074. --------P-172001-----------------------------
  3075. INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - SET ??? FLAG
  3076.     AX = 2001h
  3077.     BL = printer number???
  3078. Return: AX = status (see #0556)
  3079. --------P-172002-----------------------------
  3080. INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - GET INFORMATION
  3081.     AX = 2002h
  3082.     BL = printer number???
  3083.     CL = desired information
  3084.         00h printer type
  3085.         Return: ES:DI -> ASCIZ printer name
  3086.         01h paper size
  3087.         DX = size index
  3088.         Return: ES:DI -> ASCIZ paper size description
  3089.         02h ???
  3090.         Return: BX = ???
  3091.         03h printer information???
  3092.         DX = ???
  3093.         ES:BX -> buffer for ??? (min 134 bytes)
  3094. Return: AX = status (see #0556)
  3095. SeeAlso: AX=2000h,AX=2004h
  3096. --------P-172003-----------------------------
  3097. INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ???
  3098.     AX = 2003h
  3099.     ES:BX -> ???
  3100. Return: AX = status (see #0556)
  3101. SeeAlso: AX=2000h,AX=2004h
  3102. --------P-172004-----------------------------
  3103. INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - GET ???
  3104.     AX = 2004h
  3105.     BL = printer number???
  3106. Return: AX = status (see #0556)
  3107.     ES:DI -> ???
  3108. SeeAlso: AX=2000h,AX=2003h
  3109. --------P-172005-----------------------------
  3110. INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ADVANCE PRINTER TO NEXT PAGE
  3111.     AX = 2005h
  3112.     BL = printer number???
  3113. Return: AX = status (see #0556)
  3114. Note:    this function also clears the flag set by AX=2001h
  3115. SeeAlso: AX=2000h,AX=2001h,AX=2006h
  3116. --------P-172006-----------------------------
  3117. INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - ADVANCE TO NEXT PAGE & SHUT DOWN
  3118.     AX = 2006h
  3119.     BL = printer number???
  3120. Return: AX = status (see #0556)
  3121. Note:    this function also clears the flag set by AX=2001h and disables
  3122.       functions other than AX=2000h
  3123. SeeAlso: AX=2000h,AX=2001h,AX=2005h
  3124. --------P-172007-----------------------------
  3125. INT 17 - PC Paint Plus 2.0 - PRINTER DRIVER - UNIMPLEMENTED
  3126.     AX = 2007h
  3127. Return: AX unchanged
  3128. SeeAlso: AX=2000h
  3129. --------N-172400-----------------------------
  3130. INT 17 - Shamrock Software NET.24 v3.11+ - ENABLE/DISABLE API FUNCTIONS
  3131.     AX = 2400h
  3132.     DL = new state
  3133.         00h disabled
  3134.         01h enabled
  3135. Return: DL = 24h if installed
  3136.     DH = minor version number
  3137.     CX = network address of this machine
  3138.     AL = status (see #0557)
  3139. SeeAlso: AX=2403h,INT 16/AX=4500h
  3140.  
  3141. (Table 0557)
  3142. Values for NET.24 function status:
  3143.  00h    successful
  3144.  01h    timeout
  3145.  02h    header error
  3146.  03h    data error
  3147.  04h    busy
  3148.  05h    invalid parameters
  3149. --------N-172401-----------------------------
  3150. INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, NO HANDSHAKE
  3151.     AX = 2401h
  3152.     BL = timeout in clock ticks
  3153. Return: AL = status (see #0557)
  3154.     DX:BX -> receive buffer
  3155. SeeAlso: AX=2402h,AX=2404h,AX=2408h
  3156. --------N-172402-----------------------------
  3157. INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT BLOCK, NO HANDSHAKE
  3158.     AX = 2402h
  3159.     transmit buffer filled (see AX=2403h)
  3160. Return: AL = status (see #0557)
  3161. SeeAlso: AX=2401h,AX=2403h,AX=2404h,AX=2409h
  3162. --------N-172403-----------------------------
  3163. INT 17 - Shamrock Software NET.24 v3.11+ - GET STATUS AND TRANSMISSION BUFFER
  3164.     AX = 2403h
  3165. Return: AL = status (see #0557)
  3166.     CX = number of characters in receive ring buffer
  3167.     DX:BX -> transmit buffer
  3168. SeeAlso: AX=2400h,AX=2402h
  3169. --------N-172404-----------------------------
  3170. INT 17 - Shamrock Software NET.24 v3.11+ - SEND ACK BLOCK
  3171.     AX = 2404h
  3172.     BX = target address
  3173. Return: AL = status (see #0557)
  3174. SeeAlso: AX=2402h,AX=2405h
  3175. --------N-172405-----------------------------
  3176. INT 17 - Shamrock Software NET.24 v3.11+ - SEND NAK BLOCK
  3177.     AX = 2405h
  3178.     BX = target address
  3179. Return: AL = status (see #0557)
  3180. SeeAlso: AX=2402h,AX=2404h
  3181. --------N-172406-----------------------------
  3182. INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED RECEIVE
  3183.     AX = 2406h
  3184. Return: AL = status (see #0557)
  3185. SeeAlso: AX=2407h,AX=240Ah
  3186. --------N-172407-----------------------------
  3187. INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE CHARACTER FROM REMOTE
  3188.     AX = 2407h
  3189. Return: AL = status (see also #0557)
  3190.         06h end of data
  3191.     DL = received character
  3192. SeeAlso: AX=2406h
  3193. --------N-172408-----------------------------
  3194. INT 17 - Shamrock Software NET.24 v3.11+ - RECEIVE BLOCK, WITH HANDSHAKE
  3195.     AX = 2408h
  3196. Return: AL = status (see also #0557)
  3197.         06h end of data
  3198.     CX = number of bytes in receive buffer
  3199.     DX:SI -> receive buffer
  3200. SeeAlso: AX=2401h,AX=2405h,AX=2409h
  3201. --------N-172409-----------------------------
  3202. INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT COMMAND, WITH HANDSHAKE
  3203.     AX = 2409h
  3204.     BX = target address
  3205.     CX = number of data bytes
  3206.     DL = command code to send
  3207.     DS:SI -> data bytes for command
  3208. Return: AL = status (see also #0557)
  3209.         03h no response
  3210.         06h remote currently unable to perform command
  3211. SeeAlso: AX=2405h,AX=2408h
  3212. --------N-17240A-----------------------------
  3213. INT 17 - Shamrock Software NET.24 v3.11+ - PREPARE CHARACTER-ORIENTED TRANSMIT
  3214.     AX = 240Ah
  3215. Return: AL = status (see #0557)
  3216. SeeAlso: AX=2406h,AX=240Bh,AX=240Ch
  3217. --------N-17240B-----------------------------
  3218. INT 17 - Shamrock Software NET.24 v3.11+ - TRANSMIT SINGLE CHARACTER TO REMOTE
  3219.     AX = 240Bh
  3220.     DL = character to send
  3221. Return: AL = status (see also AX=2400h)
  3222.         03h transmission error
  3223.         06h write error
  3224. SeeAlso: AX=2407h,AX=240Ah,AX=240Ch
  3225. --------N-17240C-----------------------------
  3226. INT 17 - Shamrock Software NET.24 v3.11+ - END CHARACTER-ORIENTED TRANSMIT
  3227.     AX = 240Ch
  3228. Return: AL = status (see also AX=2400h)
  3229.         03h transmission error
  3230.         06h remote breaks connection
  3231. SeeAlso: AX=240Ah,AX=240Bh
  3232. --------J-175000-----------------------------
  3233. INT 17 - AX (Japanese AT) PRINTER - SET PRINTER COUNTRY CODE
  3234.     AX = 5000h
  3235.     BX = country code
  3236.         0001h USA (English), 0051h Japan
  3237. Return: AL = status
  3238.         00h successful
  3239.         01h bad country code
  3240.         02h other error
  3241. SeeAlso: AX=5001h,AH=51h,INT 10/AX=5000h,INT 16/AX=5000h
  3242. --------J-175001-----------------------------
  3243. INT 17 - AX (Japanese AT) PRINTER - GET PRINTER COUNTRY CODE
  3244.     AX = 5001h
  3245. Return: AL = status
  3246.         00h successful
  3247.         BX = country code
  3248.         02h error
  3249. SeeAlso: AX=5000h,AH=51h,INT 10/AX=5001h,INT 16/AX=5001h
  3250. --------J-1751-------------------------------
  3251. INT 17 - AX (Japanese AT) PRINTER - JIS to Shift-JIS CONVERSION
  3252.     AH = 51h
  3253.     DX = 2-byte JIS code
  3254. Return: DX = shift-JIS value or 0000h on error
  3255. Note:    one of AH=51h and AH=52h converts from JIS (Japanese Industry Standard)
  3256.       characters to Shift-JIS characters, and the other performs the
  3257.       opposite conversion
  3258. SeeAlso: AX=5000h,AH=52h
  3259. --------J-1752-------------------------------
  3260. INT 17 - AX (Japanese AT) PRINTER - Shift-JIS to JIS CONVERSION
  3261.     AH = 52h
  3262.     DX = 2-byte shift-JIS code
  3263. Return: DX = JIS code or 0000h on error
  3264. Note:    one of AH=51h and AH=52h converts from JIS (Japanese Industry Standard)
  3265.       characters to Shift-JIS characters, and the other performs the
  3266.       opposite conversion
  3267. SeeAlso: AH=51h
  3268. --------V-1760-------------------------------
  3269. INT 17 - FLASHUP.COM - INSTALLATION CHECK
  3270.     AH = 60h
  3271. Return: AL = 60h
  3272.     DX = CS of resident code
  3273. Notes:    FLASHUP.COM is part of Flash-Up Windows by The Software Bottling Co.
  3274.     FLASHUP also hooks INT 10 and receives commands via INT 10/AH=09h,0Ah
  3275.       consisting of an 80h followed by the actual command
  3276. SeeAlso: INT 10/AH=09h,INT 10/AH=0Ah
  3277. --------V-1761-------------------------------
  3278. INT 17 - SPEEDSCR.COM - INSTALLATION CHECK
  3279.     AH = 61h
  3280. Return: AL = 61h
  3281.     DX = CS of resident code
  3282. Note:    SPEEDSCR.COM is by The Software Bottling Co.
  3283. --------P-1762-------------------------------
  3284. INT 17 U - T2PS v1.0 - UNINSTALL
  3285.     AH = 62h
  3286. Return: nothing
  3287. SeeAlso: AH=63h,AH=64h,INT 05/AX=554Eh
  3288. --------P-1763-------------------------------
  3289. INT 17 U - T2PS v1.0 - SET PARAMETERS
  3290.     AH = 63h
  3291.     ES:SI -> settings (see #0558)
  3292. Program: T2PS is a shareware ASCII-to-PostScript converter by A.N.D.
  3293.       Technologies
  3294. SeeAlso: AH=62h,AH=64h,INT 05/AX=4E57h
  3295.  
  3296. Format of T2PS settings:
  3297. Offset    Size    Description    (Table 0558)
  3298.  00h    WORD    LPT port number (0=LPT1, etc.)
  3299.  02h    WORD    page heigh in points
  3300.  04h    WORD    page width in points
  3301.  06h    WORD    top margin in points
  3302.  08h    WORD    bottom margin in points
  3303.  0Ah    WORD    left margin in points
  3304.  0Ch    WORD    right margin in points
  3305.  0Eh    WORD    font size in points
  3306.  10h    WORD    tab size
  3307.  12h    WORD    timeout in clock ticks
  3308. --------P-1764-------------------------------
  3309. INT 17 U - T2PS v1.0 - GET PARAMETERS
  3310.     AH = 64h
  3311.     ES:SI -> buffer for settings (see #0558)
  3312. Return: ES:SI buffer filled
  3313. SeeAlso: AH=62h,AH=63h,INT 05/AX=5053h
  3314. --------b-176F00BX0000-----------------------
  3315. INT 17 - HP Vectra - EXTENDED BIOS - "F17_INQUIRE" - INSTALLATION CHECK
  3316.     AX = 6F00h
  3317.     BX = 0000h
  3318. Return: BX = 4850h ("HP") if HP Extended BIOS printer extensions available
  3319. SeeAlso: AX=6F02h,INT 14/AX=6F00h,INT 10/AX=6F00h,INT 14/AX=6F00h
  3320. SeeAlso: INT 33/AX=6F00h,INT 6F/AH=00h"HP Vectra"
  3321. --------b-176F02-----------------------------
  3322. INT 17 - HP Vectra - EXTENDED BIOS - "F17_PUT_BUFFER" - PRINT BUFFER
  3323.     AX = 6F02h
  3324.     CX = size of buffer in bytes
  3325.     DX = port number (0-3)
  3326.     ES:DI -> buffer containing characters to be printed
  3327. Return: AH = printer status (see #0548)
  3328.     CX = number of bytes successfully printed
  3329.     ---on error (AH bit 0 set)---
  3330.         ES:DI -> next byte to be sent
  3331.     ---if successful---
  3332.         ES:DI unchanged
  3333. SeeAlso: AH=00h,AX=6F00h,INT 14/AX=6F02h
  3334. ----------1780-------------------------------
  3335. INT 17 - IBM SurePath BIOS - Officially "Private" Function
  3336.     AH = 80h
  3337. SeeAlso: AH=03h"IBM",AH=0Bh"IBM"
  3338. --------N-1781-------------------------------
  3339. INT 17 - Alloy NTNX, MW386 - CANCEL JOBS FOR CURRENT USER
  3340.     AH = 81h
  3341.     AL = 00h (NTNX compatibility mode)
  3342.     CL = number of jobs to cancel
  3343. Return: AL = status (see #0559)
  3344. Note:    this function cancels the last CL printouts for the current task
  3345. SeeAlso: AH=82h
  3346.  
  3347. (Table 0559)
  3348. Values for Alloy status:
  3349.  00h    success
  3350.  01h-7Fh warning
  3351.  80h    general failure
  3352.  81h    host overloaded (NTNX only)
  3353.  82h    module busy (NTNX only)
  3354.  83h    host busy (NTNX only)
  3355.  84h    re-entry flag set
  3356.  85h    invalid request
  3357.  86h    invalid printer
  3358.  87h    invalid process ID
  3359.  89h    access denied
  3360.  8Ah    option not available for given port type
  3361.  8Bh    option not available for given task type
  3362.  91h    printer busy
  3363.  C2h    file not found
  3364.  C3h    path not found
  3365.  C4h    file access failure
  3366. --------N-1782-------------------------------
  3367. INT 17 - Alloy NTNX, MW386 - CANCEL ALL JOBS FOR CURRENT USER
  3368.     AH = 82h
  3369.     AL = 00h (NTNX compatibility mode)
  3370. Return: AL = status (see #0559)
  3371. SeeAlso: AH=81h
  3372. --------N-1783-------------------------------
  3373. INT 17 - Alloy NTNX, MW386 - SET NUMBER OF COPIES
  3374.     AH = 83h
  3375.     AL = mode
  3376.         00h NTNX compatibility
  3377.         CL = number of copies (max 99, default 1)
  3378.         02h MW386 v2+
  3379.         BX = logical device number
  3380.             00h-03h = LPT1-LPT4
  3381.             04h-07h = COM1-COM4
  3382.         CX = number of copies
  3383. Return: AL = status (see #0559)
  3384. Note:    in NTNX compatibility mode, this function only affects LPT1
  3385. --------N-1784-------------------------------
  3386. INT 17 - Alloy NTNX, MW386 - GENERATE PRINT BREAK
  3387.     AH = 84h
  3388.     AL = mode
  3389.         00h NTNX compatibility
  3390.         02h MW386 v2+
  3391.         BX = logical device number
  3392.             00h-03h = LPT1-LPT4
  3393.             04h-07h = COM1-COM4
  3394. Note:    closes spool file and tells spooler to queue the print job (LPT1 only
  3395.       under MW386 in NTNX compatibility mode)
  3396. --------J-1784-------------------------------
  3397. INT 17 - AX (Japanese AT) PRINTER - OUTPUT CHARACTER WITHOUT CONVERSION
  3398.     AH = 84h
  3399.     AL = character
  3400.     DX = printer number
  3401. Return: AH = printer status (see #0548)
  3402. SeeAlso: AH=00h,AH=85h
  3403. --------J-1785-------------------------------
  3404. INT 17 - AX (Japanese AT) PRINTER - ENABLE/DISABLE CHARACTER CONVERSION
  3405.     AH = 85h
  3406.     AL = new state (00h enabled, 01h disabled)
  3407. SeeAlso: AH=84h"AX"
  3408. --------N-1787-------------------------------
  3409. INT 17 - Alloy NTNX - SET INDOS POINTER
  3410.     AH = 87h
  3411.     AL = 00h
  3412.     CX:BX -> buffer for user-written printer drivers
  3413. Return: BX,CX destroyed
  3414. Note:    must be executed before the printer is enabled
  3415. SeeAlso: AH=8Ah
  3416. --------N-1788-------------------------------
  3417. INT 17 - Alloy NTNX, MW386 - REMOVE PRINTER FROM SPOOLER
  3418.     AH = 88h
  3419.     AL = mode
  3420.         00h NTNX compatibility
  3421.         DX = NTNX printer number (see #0560)
  3422.         01h MW386
  3423.         DX = MW386 printer number
  3424. Return: AH = status (see #0559)
  3425. Note:    removes specified printer from the spooler's list of printers
  3426. SeeAlso: AH=89h,AH=8Bh
  3427.  
  3428. (Table 0560)
  3429. Values for Alloy NTNX printer number:
  3430.  00h    host LPT1
  3431.  01h    host LPT2
  3432.  02h    host LPT3
  3433.  03h    host LPT4
  3434.  04h    host COM1
  3435.  05h    host COM2
  3436.  06h    user's logical COM2
  3437.  07h    user's terminal AUX port
  3438.  08h    user's logical COM1 (MW386 only)
  3439. --------N-1789-------------------------------
  3440. INT 17 - Alloy NTNX, MW386 - ADD PRINTER TO SPOOLER
  3441.     AH = 89h
  3442.     AL = mode
  3443.         00h NTNX compatibility
  3444.         DX = NTNX printer number (see #0560)
  3445.         01h MW386
  3446.         DX = MW386 printer number
  3447. Return: AL = status (see #0559)
  3448. Note:    the specified printer is added to the spooler's list of available
  3449.       printers
  3450. SeeAlso: AH=88h,AH=8Bh
  3451. --------N-178A-------------------------------
  3452. INT 17 - Alloy NTNX - ACTIVATE USER-WRITTEN PRINTER DRIVER
  3453.     AH = 8Ah
  3454.     ???
  3455. SeeAlso: AH=92h
  3456. --------N-178B-------------------------------
  3457. INT 17 - Alloy MW386 - GET PHYSICAL DEVICE NUMBER FROM NAME
  3458.     AH = 8Bh
  3459.     DS:DX -> ASCIZ printer name
  3460. Return: AL = status (see also AH=81h)
  3461.         00h successful
  3462.         DX = physical device number
  3463. SeeAlso: AH=89h,AH=8Ch,INT 14/AH=20h"Alloy"
  3464. --------N-178C-------------------------------
  3465. INT 17 - Alloy MW386 - GET DEVICE NAME FROM PHYSICAL DEVICE NUMBER
  3466.     AH = 8Ch
  3467.     DX = physical device number
  3468.     ES:DI -> 17-byte buffer for ASCIZ device name
  3469. Return: AL = status (see also AH=81h)
  3470.         00h successful
  3471.         ES:DI buffer filled
  3472. SeeAlso: AH=88h,AH=8Bh
  3473. --------N-178D-------------------------------
  3474. INT 17 - Alloy NTNX,MW386 - RESET SPOOLER
  3475.     AH = 8Dh
  3476.     AL = 00h
  3477. Return: AL = status (see #0559)
  3478. Notes:    clears all buffers and resets spooler to boot-up values
  3479.     MW386 supports this function for compatibility only; it is a NOP
  3480. --------N-178E-------------------------------
  3481. INT 17 - Alloy NTNX - GET INT 28 ENTRY POINT
  3482.     AH = 8Eh
  3483.     AL = 00h
  3484. Return: CX:BX -> INT 28 entry point
  3485. SeeAlso: AH=8Fh
  3486. --------N-178F-------------------------------
  3487. INT 17 - Alloy NTNX - GET DOS INTERCEPT ENTRY POINT
  3488.     AH = 8Fh
  3489.     AL = 00h
  3490. Return: CX:BX -> DOS intercept routine
  3491. SeeAlso: AH=8Eh
  3492. --------N-1790-------------------------------
  3493. INT 17 - Alloy NTNX, MW386 - SPOOL FILE BY NAME
  3494.     AH = 90h
  3495.     AL = mode
  3496.         00h NTNX compatibility
  3497.         DL = printer code (FFh=current) (NTNX, MW386 v1.x only)
  3498.         DH = number of copies (FFh=current) (NTNX, MW386 v1.x only)
  3499.         02h MW386 v2+
  3500.         BX = logical device number
  3501.             00h-03h = LPT1-LPT4
  3502.             04h-07h = COM1-COM4
  3503.     CX:SI -> ASCIZ pathname
  3504. Return: AL = status (see #0559)
  3505. Note:    in mode 00h, the file is always sent to logical LPT1
  3506. SeeAlso: AH=A0h
  3507. --------N-1791-------------------------------
  3508. INT 17 - Alloy NTNX, MW386 - GET USER NUMBER AND CURRENT PRINTER
  3509.     AH = 91h
  3510.     AL = mode
  3511.         00h NTNX compatibility
  3512.         Return: CX = user number (00h = host)
  3513.             DX = currently selected printer number (00h-08h)
  3514.         01h MW386
  3515.         Return: CX = user number
  3516.             DX = physical dev number of currently selected printer
  3517.         02h MW386 v2+
  3518.         BX = logical device number
  3519.             00h-03h = LPT1-LPT4
  3520.             04h-07h = COM1-COM4
  3521.         Return: CX = user number
  3522.             DX = physical device number
  3523. Return: AL = status (see #0559)
  3524. SeeAlso: AH=8Ch
  3525. --------N-1792-------------------------------
  3526. INT 17 - Alloy NTNX - CHECK PRINTER DRIVER
  3527.     AH = 92h
  3528.     AL = 00h
  3529.     CL = 00h
  3530. Return: CL = driver state
  3531.         01h initialized
  3532.         80h not initialized
  3533.     AX = status (see #0559)
  3534. SeeAlso: AH=8Ah
  3535. --------N-1794-------------------------------
  3536. INT 17 - Alloy NTNX, MW386 - SELECT PRINTER
  3537.     AH = 94h
  3538.     AL = mode
  3539.         00h NTNX compatibility
  3540.         DX = NTNX printer number (see #0560)
  3541.         01h MW386
  3542.         DX = MW386 printer number
  3543.         02h MW386 v2+
  3544.         BX = logical printer number
  3545.         DX = MW386 printer number
  3546. Return: AL = status (see #0559)
  3547. Note:    modes 00h and 01h affect only logical LPT1
  3548. SeeAlso: AH=8Bh,AH=95h
  3549. --------N-1795-------------------------------
  3550. INT 17 - Alloy NTNX, MW386 - GET CURRENT PRINTER
  3551.     AH = 95h
  3552.     AL = mode
  3553.         00h NTNX compatibility
  3554.         Return: DX = NTNX printer number (see #0560)
  3555.                 (FFFFh if current printer not compatible with NTNX)
  3556.         01h MW386
  3557.         Return: DX = MW386 printer number
  3558.         02h MW386 v2+
  3559.         BX = logical device number
  3560.             00h-03h = LPT1-LPT4
  3561.             04h-07h = COM1-COM4
  3562.         Return: DX = MW386 printer number (FFFFh = none)
  3563. Return: AL = status (see #0559)
  3564. Note:    modes 00h and 01h return the printer number of logical LPT1 only
  3565. SeeAlso: AH=94h
  3566. --------N-1796-------------------------------
  3567. INT 17 - Alloy NTNX - SET SERIAL PORT PARAMETERS
  3568.     AH = 96h
  3569.     AL = 00h
  3570. Note:    documentation states that this is a NOP, doing only XOR AX,AX before
  3571.       returning
  3572. SeeAlso: INT 14/AH=24h
  3573. --------N-1797-------------------------------
  3574. INT 17 - Alloy NTNX, MW386 - SET DATA DRIVEN PRINT BREAK
  3575.     AH = 97h
  3576.     AL = mode
  3577.         00h NTNX compatibility
  3578.         02h MW386 v2+
  3579.         BX = logical device number
  3580.             00h-03h = LPT1-LPT4
  3581.             04h-07h = COM1-COM4
  3582.     CH,CL,DH = three character break sequence
  3583.     DL = subfunction
  3584.         00h set break string
  3585.         else reset break
  3586. Return: AL = status (see #0559)
  3587. Notes:    mode 00h affects only logical LPT1
  3588.     when the break string is encountered, the spool file will be closed and
  3589.       queued for printing automatically
  3590.     the break string is not permanently saved, and will be reset each time
  3591.       MW386 or the user is rebooted
  3592. SeeAlso: AH=9Bh
  3593. --------N-1798-------------------------------
  3594. INT 17 - Alloy NTNX,MW386 - RESTART PRINTER
  3595.     AH = 98h
  3596.     AL = 00h
  3597.     DL = printer number (FFh=current)
  3598. Return: AL = status
  3599.         00h successful
  3600.         01h incorrect printer
  3601.         02h task not found
  3602. Note:    MW386 supports this function for compatibility only; it is a NOP
  3603. --------N-1799-------------------------------
  3604. INT 17 - Alloy NTNX, MW386 - GET/SET PRINTER MODE
  3605.     AH = 99h
  3606.     AL = mode
  3607.         00h NTNX compatibility
  3608.         DL = NTNX printer number (see #0560)
  3609.             (FFh = task's current logical LPT1)
  3610.         DH = mode (see #0561)
  3611.         01h MW386
  3612.         DX = MW386 printer number
  3613.         CL = mode (as for DH above)
  3614. Return: AL = status (see #0559)
  3615.     DH = mode (bits 1 and 2 set as above)
  3616.     DL = printer owner's user number if not spooled
  3617.  
  3618. Bitfields for Alloy printer mode:
  3619.  0    get mode if 1, set mode if 0    (Table 0561)
  3620.  1    private ("attached")
  3621.  2    direct instead of spooled
  3622.  3-7    reserved (0)
  3623. --------N-179A-------------------------------
  3624. INT 17 - Alloy NTNX,MW386 - SET TAB EXPANSION
  3625.     AH = 9Ah
  3626.     AL = mode
  3627.         00h NTNX compatibility
  3628.         DX = NTNX printer number (see #0560)
  3629.             (FFFFh = current logical LPT1)
  3630.         01h MW386
  3631.         DX = MW386 printer number
  3632.     CL = tab length (00h = no expansion, 01h-63h = spaces per tab)
  3633. Return: AL = status (see #0559)
  3634. Note:    beginning with MW386 v2.0, tab expansion is set on a per-printer basis
  3635.       rather than a per-user basis; NTNX and MW386 v1.x ignore DX
  3636. SeeAlso: AH=A4h
  3637. --------N-179B-------------------------------
  3638. INT 17 - Alloy NTNX,MW386 - SET PRINT BREAK TIMEOUT
  3639.     AH = 9Bh
  3640.     AL = mode
  3641.         00h NTNX compatibility
  3642.         CX = timeout value in clock ticks (1/18 sec) (00h = never)
  3643.         01h MW386
  3644.         CX = timeout value in seconds (00h = never)
  3645.         02h MW386 v2+
  3646.         BX = logical device number
  3647.             00h-03h = LPT1-LPT4
  3648.             04h-07h = COM1-COM4
  3649.         CX = timeout value in seconds (00h = never)
  3650. Return: AL = status (see #0559)
  3651. Notes:    modes 00h and 01h affect only the current logical LPT1
  3652.     if no data is sent to a printer for the specified amount of time, the
  3653.       spool file will be closed and queued for printing automatically
  3654. SeeAlso: AH=97h
  3655. --------N-17A0-------------------------------
  3656. INT 17 - Alloy MW386 - SPOOL COPY OF FILE
  3657.     AH = A0h
  3658.     AL = mode
  3659.         00h NTNX compatibility
  3660.         DX = ??? (NTNX, MW386 v1.x only)
  3661.         02h MW386 v2+
  3662.         BX = logical device number
  3663.             00h-03h = LPT1-LPT4
  3664.             04h-07h = COM1-COM4
  3665.     CX:SI -> ASCIZ pathname
  3666. Return: AL = status (see #0559)
  3667. Notes:    makes a copy of the specified file in the spooler's directory, allowing
  3668.       the original file to be modified or deleted while the copy is printed
  3669.     in mode 00h, the file is printed on logical LPT1
  3670. SeeAlso: AH=90h
  3671. --------N-17A4-------------------------------
  3672. INT 17 - Alloy MW386 - ENABLE/DISABLE FORM FEED
  3673.     AH = A4h
  3674.     AL = new state
  3675.         00h form feed after end of print job disabled
  3676.         01h form feed enabled
  3677. Return: AL = status (see #0559)
  3678. Note:    only affects the current logical LPT1
  3679. SeeAlso: AH=9Ah,AH=A6h,INT 7F/AH=05h"NTNX (Host)"
  3680. --------N-17A6-------------------------------
  3681. INT 17 - Alloy MW386 - ENABLE/DISABLE BANNER PAGE
  3682.     AH = A6h
  3683.     AL = new state
  3684.         00h banner page before print job disabled
  3685.         01h banner page enabled
  3686. Return: AL = status (see #0559)
  3687. Note:    only affects the current logical LPT1
  3688. SeeAlso: AH=A4h
  3689. --------N-17A7-------------------------------
  3690. INT 17 - Alloy MW386 v2+ - GET/SET SPOOL FLAGS
  3691.     AH = A7h
  3692.     AL = spool flags (see #0562)
  3693.     BX = logical device number
  3694.         00h-03h = LPT1-LPT4
  3695.         04h-07h = COM1-COM4
  3696. Return: AL = status (see #0559)
  3697. Note:    the documentation does not state which register contains the result of
  3698.       a GET
  3699. SeeAlso: AH=A4h,AH=A6h
  3700.  
  3701. Bitfields for Alloy spool flags:
  3702. Bit(s)    Description    (Table 0562)
  3703.  0    banner page enabled (see AH=A6h)
  3704.  1    form feed enabled (see AH=A4h)
  3705.  2-6    reserved (0)
  3706.  7    set flags if 1, get flags if 0
  3707. --------N-17A8-------------------------------
  3708. INT 17 - Alloy MW386 - DEFINE TEMPORARY FILENAME
  3709.     AH = A8h
  3710.     CX:SI -> ASCIZ filename without extension (max 8 chars)
  3711. Return: AL = status (see #0559)
  3712. Note:    allows application to specify banner page filename for spool files
  3713.       collected from the application's printer output
  3714. SeeAlso: AH=A9h
  3715. --------N-17A9-------------------------------
  3716. INT 17 - Alloy MW386 - CHANGE TEMPORARY SPOOL DRIVE
  3717.     AH = A9h
  3718.     AL = new spool drive (2=C:,3=D:,etc)
  3719. Return: AL = status (see #0559)
  3720. Note:    does not remove previous spooling directory since jobs may be pending
  3721. SeeAlso: AH=A8h
  3722. --------N-17AA-------------------------------
  3723. INT 17 - Alloy MW386 v2+ - GET REAL-TIME PRINTER STATUS
  3724.     AH = AAh
  3725.     AL = mode
  3726.         00h NTNX
  3727.         DX = NTNX printer number (see #0560)
  3728.         01h MW386
  3729.         DX = MW386 printer number
  3730. Return: AH = instantaneous printer status
  3731.         00h printer ready
  3732.         01h not ready
  3733.         12h off line
  3734.         13h out of paper
  3735.         14h general device failure
  3736.         15h device timeout
  3737.         16h bad device number
  3738. --------N-17AF-------------------------------
  3739. INT 17 - Alloy MW386 - CHECK SPOOLER
  3740.     AH = AFh
  3741. Return: AX = 55AAh if spooler available
  3742. --------c-17C0-------------------------------
  3743. INT 17 - PC Magazine PCSpool - GET CONTROL BLOCK ADDRESS
  3744.     AH = C0h
  3745.     DX = printer port (0-3)
  3746. Return: ES:BX -> control block (see #0563)
  3747. SeeAlso: AH=C1h
  3748.  
  3749. Format of PCSpool control block:
  3750. Offset    Size    Description    (Table 0563)
  3751.  00h    WORD    printer number
  3752.  02h    WORD    address of printer status port
  3753.  04h    WORD    number of first record in queue
  3754.  06h    WORD    number of last record in queue
  3755.  08h    DWORD    characters already printed
  3756.  0Ch    DWORD    number of characters remaining
  3757.  10h    DWORD    pointer to dequeue buffer
  3758.  14h    DWORD    previous count of characters printed
  3759.  18h    DWORD    number of clock ticks taken to print them
  3760.  1Ch    WORD    offset of next character to output
  3761.  1Eh    WORD    offset of next character to print
  3762.  20h    WORD    pointer to spooling queue record
  3763.  22h    BYTE    current spooling status
  3764.  23h    BYTE    current printer status:
  3765.         00h OK
  3766.         01h not ready
  3767.         02h paused with message
  3768.         03h paused
  3769.         04h initializing
  3770.         FEh non-existent port
  3771.         FFh not spooled
  3772.  24h    BYTE    current control record type
  3773.  25h    WORD    observed printer speed
  3774.  27h    WORD    characters to print per service
  3775.  29h    BYTE    01h if disk write needed
  3776.  2Ah    BYTE    01h if queued data should be flushed
  3777.  2Bh    BYTE    01h to update cps status
  3778. --------c-17C1--------------------------------
  3779. INT 17 - PC Magazine PCSpool - BUILD PAUSE CONTROL RECORD
  3780.     AH = C1h
  3781.     DX = printer port (0-3)
  3782.     DS:SI -> ASCIZ string to save for display
  3783. Note:    flushes pending writes
  3784. SeeAlso: AH=C0h,AH=C2h
  3785. --------c-17C2-------------------------------
  3786. INT 17 - PC Magazine PCSpool - FLUSH PENDING WRITES
  3787.     AH = C2h
  3788.     DX = printer port (0-3)
  3789. SeeAlso: AH=C3h
  3790. --------c-17C3-------------------------------
  3791. INT 17 - PC Magazine PCSpool - CANCEL PRINTER QUEUE (FLUSH ALL QUEUED OUTPUT)
  3792.     AH = C3h
  3793.     DX = printer port (0-3)
  3794. SeeAlso: AH=C2h,AH=C7h
  3795. --------c-17C4-------------------------------
  3796. INT 17 - PC Magazine PCSpool - QUERY SPOOLER ACTIVE
  3797.     AH = C4h
  3798. Return: DI = B0BFh
  3799.     SI = segment
  3800. --------c-17C5-------------------------------
  3801. INT 17 - PC Magazine PCSpool - JOB SKIP PRINTER QUEUE
  3802.     AH = C5h
  3803.     DX = printer port (0-3)
  3804. Note:    cancels up to the pause record
  3805. --------c-17C6-------------------------------
  3806. INT 17 - PC Magazine PCSpool - CHECK PRINTER QUEUE STATUS
  3807.     AH = C6h
  3808.     DX = printer port (0-3)
  3809. Return: AX = queue status
  3810.        0000h printer not active or at pause
  3811.        0001h printer busy
  3812. --------c-17C7-------------------------------
  3813. INT 17 - PC Magazine PCSpool - CLOSE QUEUE
  3814.     AH = C7h
  3815.     DX = printer port (0-3)
  3816. SeeAlso: AH=C3h
  3817. --------P-17CD00-----------------------------
  3818. INT 17 - INSET - EXECUTE COMMAND STRING
  3819.     AX = CD00h
  3820.     DS:DX -> ASCIZ command string (max 80 bytes)
  3821. Return: CX = 07C2h (1986d)
  3822. Note:    user interface menus pop up after last command, unless that command
  3823.     exits INSET
  3824. --------P-17CD01-----------------------------
  3825. INT 17 - INSET - GET IMAGE SIZE
  3826.     AX = CD01h
  3827.     DS:DX -> ASCIZ name of image file
  3828. Return: AX = height in 1/720th inch
  3829.     BX = width in 1/720th inch
  3830.     CX = 07C2h (1986d)
  3831. --------P-17CD02-----------------------------
  3832. INT 17 - INSET - INITIALIZE
  3833.     AX = CD02h
  3834. Return: CX = 07C2h (1986d)
  3835. Note:    all open files are closed and the printer is reset
  3836. SeeAlso: AX=CD04h
  3837. --------P-17CD03-----------------------------
  3838. INT 17 - INSET - EXECUTE INSET MENU WITHIN OVERRIDE MODE
  3839.     AX = CD03h
  3840. Return: CX = 07C2h (1986d)
  3841. --------P-17CD04-----------------------------
  3842. INT 17 - INSET - INITIALIZE LINKED MODE
  3843.     AX = CD04h
  3844.     ES:SI -> FAR routine for linked mode (see #0564)
  3845. Return: CX = 07C2h
  3846. SeeAlso: AX=CD02h,AX=CD08h
  3847.  
  3848. (Table 0564)
  3849. Values INSET linked-mode routine is called with:
  3850.     AL = function
  3851.         00h send character to printer
  3852.         BL = character to send
  3853.         01h send string to printer
  3854.         CX = number of bytes to send
  3855.         DS:DX -> buffer containing data
  3856.         02h move print head to horizontal starting position of image
  3857. Return: AX = status
  3858.         0000h success
  3859.         0001h failure
  3860. --------P-17CD05-----------------------------
  3861. INT 17 - INSET - START MERGING IMAGE INTO TEXT
  3862.     AX = CD05h
  3863.     DS:DX -> ASCIZ name of PIX file
  3864.     CX = left margin of text in 1/720th inch
  3865. Return: AH = printer type
  3866.         00h page-oriented (multiple images may be placed side-by-side)
  3867.         01h line-oriented (use AX=CD06h for vertical paper movement)
  3868.     CX = 07C2h (1986d)
  3869. SeeAlso: AX=CD07h
  3870. --------P-17CD06-----------------------------
  3871. INT 17 - INSET - GRAPHICS LINE FEED
  3872.     AX = CD06h
  3873. Return: AH = completion status
  3874.         00h image complete
  3875.         01h image incomplete
  3876.     CX = 07C2h (1986d)
  3877. SeeAlso: AX=CD09h
  3878. --------P-17CD07-----------------------------
  3879. INT 17 - INSET - FLUSH GRAPHICS FROM MERGE BUFFER
  3880.     AX = CD07h
  3881. Return: CX = 07C2h
  3882. SeeAlso: AX=CD05h
  3883. --------P-17CD08-----------------------------
  3884. INT 17 - INSET - CANCEL LINK MODE
  3885.     AX = CD08h
  3886. Return: CX = 07C2h
  3887. SeeAlso: AX=CD04h
  3888. --------P-17CD09-----------------------------
  3889. INT 17 - INSET - ALTER TEXT LINE SPACING
  3890.     AX = CD09h
  3891.     CX = line spacing in 1/720th inch
  3892. Return: CX = 07C2h
  3893. Note:    not yet implemented, line spacing is currently fixed at 1/6 inch
  3894. SeeAlso: AX=CD06h
  3895. --------P-17CD0A-----------------------------
  3896. INT 17 - INSET - GET SETUP
  3897.     AX = CD0Ah
  3898.     DS:DX -> buffer for IN.SET data
  3899. Return: CX = 07C2h
  3900. --------P-17CD0B-----------------------------
  3901. INT 17 - INSET - START GETTING SCALED IMAGE
  3902.     AX = CD0Bh
  3903.     DS:SI -> ASCIZ pathname of .PIX file
  3904.     BX = number of bitplanes
  3905.     CX = number of rows in output bitmap
  3906.     DX = number of columns in output bitmap
  3907. Return: AX = status
  3908.         0000h OK
  3909.         FFFFh error
  3910. Note:    image is returned in strips by repeated calls to AX=CD0Ch
  3911. --------P-17CD0C-----------------------------
  3912. INT 17 - INSET - GET NEXT IMAGE STRIP
  3913.     AX = CD0Ch
  3914. Return: AX = status
  3915.         0000h OK but not complete
  3916.         0001h OK and image complete
  3917.         FFFFh error
  3918.     DS:SI -> buffer (max 4K) for bit map strip
  3919.     CX = start row
  3920.     DX = number of rows
  3921.     BX = offset in bytes between bit planes
  3922. Note:    buffer may be overwritten by subsequent calls
  3923. SeeAlso: AX=CD0Bh
  3924. --------P-17E0-------------------------------
  3925. INT 17 - EPP BIOS - INSTALLATION CHECK
  3926.     AH = E0h
  3927. Return: ??? (AH <> E0h if installed ???)
  3928. SeeAlso: AX=0200h"EPP",AH=E1h,AH=E2h
  3929. --------P-17E1-------------------------------
  3930. INT 17 - EPP BIOS - DISABLE EPP
  3931.     AH = E1h
  3932.     ???
  3933. Return: ???
  3934. SeeAlso: AX=0200h"EPP",AH=E0h,AH=E2h
  3935. --------P-17E2-------------------------------
  3936. INT 17 - EPP BIOS - ENABLE EPP
  3937.     AH = E2h
  3938.     ???
  3939. Return: ???
  3940. SeeAlso: AX=0200h"EPP",AH=E0h,AH=E1h
  3941. --------P-17F0-------------------------------
  3942. INT 17 - NorthNet Jetstream API - INSTALLATION CHECK
  3943.     AH = F0h
  3944.     DX = printer port (0-3)
  3945. Return: AX = 0001h Jetstream present
  3946.          else  non-Jetstream port
  3947. Note:    NorthNet Jetstream is a high-performance DMA-driven parallel card able
  3948.       to drive printers at up to 80000 characters per second
  3949. --------P-17F1-------------------------------
  3950. INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER
  3951.     AH = F1h
  3952.     CX = data buffer length
  3953.     DX = printer port (0-3)
  3954.     DS:SI -> data buffer
  3955. Return: AX = status
  3956.         0000h printer not ready (see also AH=02h)
  3957.         other printing started
  3958. SeeAlso: AH=00h,AH=F2h,AH=F3h,AH=F5h
  3959. --------P-17F2-------------------------------
  3960. INT 17 - NorthNet Jetstream API - GET PRINT PROGRESS STATUS
  3961.     AH = F2h
  3962.     DX = printer port (0-3)
  3963. Return: AX = status
  3964.         0000h prior print request finished
  3965.         other number of characters left to print
  3966. SeeAlso: AH=02h,AH=F1h,AH=F3h
  3967. --------P-17F3-------------------------------
  3968. INT 17 - NorthNet Jetstream API - ABORT PRINT OPERATION
  3969.     AH = F3h
  3970.     DX = printer port (0-3)
  3971. Return: AX = number of unprinted characters due to abort
  3972. SeeAlso: AH=F1h,AH=F4h
  3973. --------P-17F4-------------------------------
  3974. INT 17 - NorthNet Jetstream API - SET COMPLETION (POST) ADDRESS
  3975.     AH = F4h
  3976.     DX = printer port (0-3)
  3977.     DS:DS -> FAR post address (called with interrupts on)
  3978. SeeAlso: AH=F1h,AH=F3h
  3979. --------P-17F5-------------------------------
  3980. INT 17 - NorthNet Jetstream API - PRINT DATA BUFFER FROM EXTENDED MEMORY
  3981.     AH = F5h
  3982.     CX = data buffer length
  3983.     DX = printer port (0-3)
  3984.     DS:SI -> data buffer (32-bit physical address)
  3985. Return: AX = status
  3986.         0000h printer not ready (see also AH=02h)
  3987.         other printing started
  3988. SeeAlso: AH=F1h
  3989. --------c-17FF--BX0000-----------------------
  3990. INT 17 U - PC-MOS/386 v5.01 - PRINT SPOOLER - CLOSE SPOOL FILE
  3991.     AH = FFh
  3992.     BX = 0000h
  3993.     CX = 0000h
  3994.     DX = printer port number
  3995. Return: AH = printer status (see #0548 at AH=00h)
  3996. Program: PC-MOS/386 v5.01 is a multitasking, multiuser MS-DOS 5.0-compatible
  3997.       operating system by The Software Link, Inc.
  3998. Desc:    close the spool file immediately instead of waiting for the close time
  3999.       to elapse
  4000. SeeAlso: AH=01h,AH=03h"PC-MOS"
  4001. --------B-18---------------------------------
  4002. INT 18 - DISKLESS BOOT HOOK (START CASSETTE BASIC)
  4003. Desc:    called when there is no bootable disk available to the system
  4004. Notes:    only PCs produced by IBM contain BASIC in ROM, so the action is
  4005.       unpredictable on compatibles; this interrupt often reboots the
  4006.       system, and often has no effect at all
  4007.     network cards with their own BIOS can hook this interrupt to allow
  4008.       a diskless boot off the network (even when a hard disk is present
  4009.       if none of the partitions is marked as the boot partition)
  4010. SeeAlso: INT 2F/AX=4A06h,INT 86"NetBIOS"
  4011. --------J-1800-------------------------------
  4012. INT 18 - NEC PC-9800 series - KEYBOARD - GET KEYSTROKE
  4013.     AH = 00h
  4014. Return: AX = keystroke
  4015. SeeAlso: AH=01h,AH=02h,INT 16/AH=00h
  4016. --------J-1801-------------------------------
  4017. INT 18 - NEC PC-9800 series - KEYBOARD - CHECK FOR KEYSTROKE
  4018.     AH = 01h
  4019. Return: BH = status
  4020.         00h no keystrokes available
  4021.         01h keystroke available
  4022.         AX = keystroke
  4023. SeeAlso: AH=00h,AH=02h,INT 16/AH=01h
  4024. --------J-1802-------------------------------
  4025. INT 18 - NEC PC-9800 series - KEYBOARD - GET SHIFT STATUS
  4026.     AH = 02h
  4027. Return: AL = shift flags
  4028. SeeAlso: AH=00h,AH=02h,AH=03h,AH=04h,INT 16/AH=02h
  4029. --------J-1803-------------------------------
  4030. INT 18 - NEC PC-9800 series - KEYBOARD - INITIALIZE
  4031.     AH = 03h
  4032.     ???
  4033. Return: ???
  4034. SeeAlso: AH=00h,AH=04h
  4035. --------J-1804-------------------------------
  4036. INT 18 - NEC PC-9800 series - KEYBOARD - KEY PRESSED
  4037.     AH = 04h
  4038.     ???
  4039. Return: ???
  4040. Note:    details are not available at this time
  4041. SeeAlso: AH=00h,AH=02h,INT 16/AH=00h,INT 16/AH=01h,INT 16/AH=02h
  4042. --------J-18---------------------------------
  4043. INT 18 - NEC PC-9800 series - VIDEO
  4044.     AH = function
  4045.         0Ah set video mode
  4046.         0Bh get video mode
  4047.         0Ch start text screen display
  4048.         0Dh end text screen display
  4049.         0Eh set single display area
  4050.         0Fh set multiple display area
  4051.         10h set cursor shape
  4052.         11h display cursor
  4053.         12h terminate cursor
  4054.         13h set cursor position
  4055.         14h read font patter
  4056.         16h initialize text video RAM
  4057.         1Ah define user character
  4058.         others
  4059.     ???
  4060. Return: ???
  4061. Notes:    details are not available at this time
  4062.     text video RAM is located at segments A000h (characters) and A200h
  4063.       (attributes), graphics video RAM at segment C000h
  4064.  
  4065. Bitfields for NEC PC-9800 series video attributes:
  4066. Bit(s)    Description    (Table 0565)
  4067.  0    disable drawing character
  4068.  1    blinking
  4069.  2    reverse video
  4070.  3    underline
  4071.  4    vertical line
  4072.  7-5    color
  4073.     (0=black, 1=blue, 2=red, 3=purple, 4=green, 5=cyan, 6=yellow, 7=white)
  4074. --------J-180E-------------------------------
  4075. INT 18 - NEC PC-9800 series - SET SINGLE DISPLAY AREA
  4076.     AH = 0Eh
  4077.     DX = offset of first byte to display???
  4078. Return: ???
  4079. SeeAlso: AH=1Bh,MEM 0050h:0001h
  4080. --------J-181B-------------------------------
  4081. INT 18 - NEC PC-9800 series - SET DISPLAY MODE
  4082.     AH = 1Bh
  4083.     AL = ??? (00h for text mode)
  4084. Return: ???
  4085. --------r-185350BX4849-----------------------
  4086. INT 18 - SPHINX C-- - WB.COM - API
  4087.     AX = 5350h ('SP')
  4088.     BX = 4849h ('HI')
  4089.     CX = 4E58h ('NX')
  4090.     DH = function
  4091.         01h set ???
  4092.         DL = ???
  4093.         02h get ???
  4094.         Return: DL = ???
  4095.         03h get ???
  4096.         Return: ES:DI -> ??? data buffer
  4097.         06h ???
  4098. Return: AX = 7370h ('sp') if installed
  4099.     BX = 6869h ('hi') if installed
  4100.     CX = 6E78h ('nx') if installed
  4101. Program: SPHINX C-- is a shareware compiler by Peter Cellik for a language
  4102.       which is a cross between C and assembler; WB.COM is the driver which
  4103.       launches the WorkBench
  4104. --------s-186900-----------------------------
  4105. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET STATUS
  4106.     AX = 6900h
  4107. Return: AX = amount of DRAM on card or 0000h if GUS not available
  4108. Program: YEA_GUS is a driver for the Graphics Ultra Sound which hooks INT 18h
  4109.       and then shells out the the program requiring its services
  4110. SeeAlso: AX=6901h,AX=690Ah,AX=690Bh
  4111. --------s-186901-----------------------------
  4112. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESET
  4113.     AX = 6901h
  4114.     BX = number of active voices (14-32)
  4115. Return: nothing
  4116. SeeAlso: AX=6900h
  4117. --------s-186902-----------------------------
  4118. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOLUME FOR SPECIFIC VOICE
  4119.     AX = 6902h
  4120.     BX = voice number (00h-1Fh)
  4121.     CX = linear volume (0000h-01FFh)
  4122. Return: nothing
  4123. SeeAlso: AX=6900h,AX=6903h,AX=6904h,AX=6909h,AX=690Ah
  4124. --------s-186903-----------------------------
  4125. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET FREQUENCY FOR VOICE
  4126.     AX = 6903h
  4127.     BX = voice number (00h-1Fh)
  4128.     CX = frequency in Hz (0-44100)
  4129. Return: nothing
  4130. SeeAlso: AX=6902h,AX=6904h
  4131. --------s-186904-----------------------------
  4132. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET LEFT/RIGHT BALANCE
  4133.     AX = 6904h
  4134.     BX = voice number (00h-1Fh)
  4135.     CX = balance (0 = left, 7 = even, 15 = right)
  4136. Return: nothing
  4137. SeeAlso: AX=6902h,AX=6903h
  4138. --------s-186905-----------------------------
  4139. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - PLAY MUSIC
  4140.     AX = 6905h
  4141.     BL = voice number
  4142.     BH = sample type (0 = 8-bit, 1 = 16-bit)
  4143.     CL = looping type (0 = none, 1 = forward, 2 = back and forth)
  4144.     CH:DI = 20-bit starting address for voice data
  4145.     DL:SI = 20-bit address for loop start
  4146.     DH:BP = 20-bit address for loop end
  4147. SeeAlso: AX=6903h,AX=6906h,AX=690Bh
  4148. --------s-186906-----------------------------
  4149. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - LOAD SOUND DATA
  4150.     AX = 6906h
  4151.     BL = data format (1 = twos-complement, 0 = not)
  4152.     BH = sample type (0 = 8-bit, 1 = 16-bit)
  4153.     CX = number of bytes to send
  4154.     ES:SI -> buffer containing data
  4155.     DL:DI = 20-bit address of GUS DRAM at which to load sound data
  4156. SeeAlso: AX=6900h,AX=6905h,AX=690Ch
  4157. --------s-186907-----------------------------
  4158. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - STOP VOICE
  4159.     AX = 6907h
  4160.     BX = voice number (00h-1Fh)
  4161. Return: nothing
  4162. SeeAlso: AX=6908h,AX=690Dh
  4163. --------s-186908-----------------------------
  4164. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SET VOICE END
  4165.     AX = 6908h
  4166.     BX = voice number (00h-1Fh)
  4167.     CL:DX = 20-bit ending address
  4168. Return: nothing
  4169. SeeAlso: AX=690Bh
  4170. --------s-186909-----------------------------
  4171. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RAMP VOLUME
  4172.     AX = 6909h
  4173.     BL = voice number (00h-1Fh)
  4174.     BH = looping type (0 = none, 1 = forward, 2 = back and forth)
  4175.     CX = starting volume
  4176.     DX = ending volume
  4177.     DI:SI = time
  4178. Return: nothing
  4179. SeeAlso: AX=6902h,AX=690Ah
  4180. --------s-18690A-----------------------------
  4181. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET VOLUME
  4182.     AX = 690Ah
  4183.     BX = voice number (00h-1Fh)
  4184. Return: AX = current non-linear volume for voice
  4185. SeeAlso: AX=6902h,AX=6909h
  4186. --------s-18690B-----------------------------
  4187. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - GET POSITION
  4188.     AX = 690Bh
  4189.     BX = voice number
  4190. Return: BX:AX = 20-bit address at which voice is playing
  4191. SeeAlso: AX=6900h,AX=6905h,AX=6908h
  4192. --------s-18690C-----------------------------
  4193. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - SAVE SOUND DATA
  4194.     AX = 690Ch
  4195.     BL = data format (1 = twos-complement, 0 = not)
  4196.     BH = sample type (0 = 8-bit, 1 = 16-bit)
  4197.     CX = number of bytes to get
  4198.     ES:SI -> buffer for retrieved data
  4199.     DL:DI = 20-bit address in GUS DRAM from which to read voice data
  4200. Return: nothing
  4201. SeeAlso: AX=6906h
  4202. --------s-18690D-----------------------------
  4203. INT 18 - Gravis Ultra Sound YEA_GUS.EXE - RESTART VOICE
  4204.     AX = 690Dh
  4205.     BX = voice
  4206.     CX = sample type (0 = 8-bit, 1 = 16-bit)
  4207.     DX = looping type (0 = none, 1 = forward, 2 = back and forth)
  4208. Return: CX = balance value
  4209. SeeAlso: AX=6907h,AX=6908h
  4210. --------s-188000-----------------------------
  4211. INT 18 - Gravis Ultra Sound EURO_MOD.EXE - INITIALIZE
  4212.     AX = 8000h
  4213. Program: EURO_MOD is a .MOD file player for the Gravis Ultra Sound which hooks
  4214.       INT 18h and then shells out to the program requiring its services
  4215. SeeAlso: AX=8001h,AX=8004h
  4216. --------s-188001-----------------------------
  4217. INT 18 - Gravis Ultra Sound EURO_MOD.EXE - LOAD .MOD FILE
  4218.     AX = 8001h
  4219.     BX:CX -> ASCIZ filename
  4220. SeeAlso: AX=8000h,AX=8002h
  4221. --------s-188002-----------------------------
  4222. INT 18 - Gravis Ultra Sound EURO_MOD.EXE - PLAY .MOD FILE
  4223.     AX = 8002h
  4224. SeeAlso: AX=8002h,AX=8003h
  4225. --------s-188003-----------------------------
  4226. INT 18 - Gravis Ultra Sound EURO_MOD.EXE - STOP PLAYING
  4227.     AX = 8003h
  4228. --------s-188004-----------------------------
  4229. INT 18 - Gravis Ultra Sound EURO_MOD.EXE - SHUTDOWN
  4230.     AX = 8004h
  4231. SeeAlso: AX=8000h,AX=8003h
  4232. --------B-19---------------------------------
  4233. INT 19 - SYSTEM - BOOTSTRAP LOADER
  4234. Desc:    This interrupt reboots the system without clearing memory or restoring
  4235.       interrupt vectors.  Because interrupt vectors are preserved, this
  4236.       interrupt usually causes a system hang if any TSRs have hooked
  4237.       vectors from 00h through 1Ch, particularly INT 08.
  4238. Notes:    Usually, the BIOS will try to read sector 1, head 0, track 0 from drive
  4239.       A: to 0000h:7C00h.  If this fails, and a hard disk is installed, the
  4240.       BIOS will read sector 1, head 0, track 0 of the first hard disk.
  4241.       This sector should contain a master bootstrap loader and a partition
  4242.       table (see #0567).  After loading the master boot sector at
  4243.       0000h:7C00h, the master bootstrap loader is given control
  4244.       (see #0570).    It will scan the partition table for an active
  4245.       partition, and will then load the operating system's bootstrap
  4246.       loader (contained in the first sector of the active partition) and
  4247.       give it control.
  4248.     true IBM PCs and most clones issue an INT 18 if neither floppy nor hard
  4249.       disk have a valid boot sector
  4250.     to accomplish a warm boot equivalent to Ctrl-Alt-Del, store 1234h in
  4251.       0040h:0072h and jump to FFFFh:0000h.    For a cold boot equivalent to
  4252.       a reset, store 0000h at 0040h:0072h before jumping.
  4253.     VDISK.SYS hooks this interrupt to allow applications to find out how
  4254.       much extended memory has been used by VDISKs (see #0566).  DOS 3.3+
  4255.       PRINT hooks INT 19 but does not set up a correct VDISK header block
  4256.       at the beginning of its INT 19 handler segment, thus causing some
  4257.       programs to overwrite extended memory which is already in use.
  4258.     the default handler is at F000h:E6F2h for 100% compatible BIOSes
  4259.     MS-DOS 3.2+ hangs on booting (even from floppy) if the hard disk
  4260.       contains extended partitions which point at each other in a loop,
  4261.       since it will never find the end of the linked list of extended
  4262.       partitions
  4263.     under Windows Real and Enhanced modes, calling INT 19 will hang the
  4264.       system in the same was as under bare DOS; under Windows Standard
  4265.       mode, INT 19 will successfully perform a cold reboot as it appears
  4266.       to have been redirected to a MOV AL,0FEh/OUT 64h,AL sequence
  4267. BUG:    when loading the remainder of the DOS system files fails, various
  4268.       versions of IBMBIO.COM/IO.SYS incorrectly restore INT 1E before
  4269.       calling INT 19, assuming that the boot sector had stored the
  4270.       contents of INT 1E at DS:SI instead of on the stack as it actually
  4271.       does
  4272. SeeAlso: INT 14/AH=17h,INT 18"BOOT HOOK",INT 49"Tandy 2000",INT 5B"PC Cluster"
  4273.  
  4274. Format of VDISK header block (at beginning of INT 19 handler's segment):
  4275. Offset    Size    Description    (Table 0566)
  4276.  00h 18 BYTEs    n/a (for VDISK.SYS, the device driver header)
  4277.  12h 11 BYTEs    signature string "VDISK     Vn.m" for VDISK.SYS version n.m
  4278.  1Dh 15 BYTEs    n/a
  4279.  2Ch  3 BYTEs    linear address of first byte of available extended memory
  4280.  
  4281. Format of hard disk master boot sector:
  4282. Offset    Size    Description    (Table 0567)
  4283.  00h 446 BYTEs    Master bootstrap loader code
  4284. 1BEh 16 BYTEs    partition record for partition 1 (see #0568)
  4285. 1CEh 16 BYTEs    partition record for partition 2
  4286. 1DEh 16 BYTEs    partition record for partition 3
  4287. 1EEh 16 BYTEs    partition record for partition 4
  4288. 1FEh    WORD    signature, AA55h indicates valid boot block
  4289.  
  4290. Format of partition record:
  4291. Offset    Size    Description    (Table 0568)
  4292.  00h    BYTE    boot indicator (80h = active partition)
  4293.  01h    BYTE    partition start head
  4294.  02h    BYTE    partition start sector (bits 0-5)
  4295.  03h    BYTE    partition start track (bits 8,9 in bits 6,7 of sector)
  4296.  04h    BYTE    operating system indicator (see #0569)
  4297.  05h    BYTE    partition end head
  4298.  06h    BYTE    partition end sector (bits 0-5)
  4299.  07h    BYTE    partition end track (bits 8,9 in bits 6,7 of sector)
  4300.  08h    DWORD    sectors preceding partition
  4301.  0Ch    DWORD    length of partition in sectors
  4302. SeeAlso: #0567
  4303.  
  4304. (Table 0569)
  4305. Values for operating system indicator:
  4306.  00h    empty
  4307.  01h    DOS 12-bit FAT
  4308.  02h    XENIX root file system
  4309.  03h    XENIX /usr file system (obsolete)
  4310.  04h    DOS 16-bit FAT (up to 32M)
  4311.  05h    DOS 3.3+ extended partition
  4312.  06h    DOS 3.31+ Large File System (16-bit FAT, over 32M)
  4313.  07h    QNX
  4314.  07h    OS/2 HPFS
  4315.  07h    Windows NT NTFS
  4316.  07h    Advanced Unix
  4317.  08h    OS/2 (v1.0-1.3 only)
  4318.  08h    AIX bootable partition, SplitDrive
  4319.  08h    Commodore DOS
  4320.  08h    DELL partition spanning multiple drives
  4321.  09h    AIX data partition
  4322.  09h    Coherent filesystem
  4323.  0Ah    OS/2 Boot Manager
  4324.  0Ah    OPUS
  4325.  0Ah    Coherent swap partition
  4326.  0Bh    Windows95 with 32-bit FAT
  4327.  0Ch    Windows95 with 32-bit FAT (using LBA-mode INT 13 extensions)
  4328.  0Eh    logical-block-addressable VFAT (same as 06h but using LBA-mode INT 13)
  4329.  0Fh    logical-block-addressable VFAT (same as 05h but using LBA-mode INT 13)
  4330.  10h    OPUS
  4331.  11h    OS/2 Boot Manager hidden 12-bit FAT partition
  4332.  12h    Compaq Diagnostics partition
  4333.  14h    (resulted from using Novell DOS 7.0 FDISK to delete Linux Native part)
  4334.  14h    OS/2 Boot Manager hidden sub-32M 16-bit FAT partition
  4335.  16h    OS/2 Boot Manager hidden over-32M 16-bit FAT partition
  4336.  17h    OS/2 Boot Manager hidden HPFS partition
  4337.  18h    AST special Windows swap file ("Zero-Volt Suspend" partition)
  4338.  21h    officially listed as reserved
  4339.  23h    officially listed as reserved
  4340.  24h    NEC MS-DOS 3.x
  4341.  26h    officially listed as reserved
  4342.  31h    officially listed as reserved
  4343.  33h    officially listed as reserved
  4344.  34h    officially listed as reserved
  4345.  36h    officially listed as reserved
  4346.  38h    Theos
  4347.  3Ch    PowerQuest PartitionMagic recovery partition
  4348.  40h    VENIX 80286
  4349.  41h    Personal RISC Boot
  4350.  42h    SFS (Secure File System) by Peter Gutmann
  4351.  50h    OnTrack Disk Manager, read-only partition
  4352.  51h    OnTrack Disk Manager, read/write partition
  4353.  51h    NOVEL
  4354.  52h    CP/M
  4355.  52h    Microport System V/386
  4356.  53h    OnTrack Disk Manager, write-only partition???
  4357.  54h    OnTrack Disk Manager (DDO)
  4358.  56h    GoldenBow VFeature
  4359.  61h    SpeedStor
  4360.  63h    Unix SysV/386, 386/ix
  4361.  63h    Mach, MtXinu BSD 4.3 on Mach
  4362.  63h    GNU HURD
  4363.  64h    Novell NetWare 286
  4364.  65h    Novell NetWare (3.11)
  4365.  67h    Novell
  4366.  68h    Novell
  4367.  69h    Novell
  4368.  70h    DiskSecure Multi-Boot
  4369.  71h    officially listed as reserved
  4370.  73h    officially listed as reserved
  4371.  74h    officially listed as reserved
  4372.  75h    PC/IX
  4373.  76h    officially listed as reserved
  4374.  80h    Minix v1.1 - 1.4a
  4375.  81h    Minix v1.4b+
  4376.  81h    Linux
  4377.  81h    Mitac Advanced Disk Manager
  4378.  82h    Linux Swap partition
  4379.  82h    Prime
  4380.  83h    Linux native file system (ext2fs/xiafs)
  4381.  84h    OS/2-renumbered type 04h partition (related to hiding DOS C: drive)
  4382.  86h    FAT16 volume/stripe set (Windows NT)
  4383.  87h    HPFS Fault-Tolerant mirrored partition
  4384.  87h    NTFS volume/stripe set
  4385.  93h    Amoeba file system
  4386.  94h    Amoeba bad block table
  4387.  A0h    Phoenix NoteBIOS Power Management "Save-to-Disk" partition
  4388.  A1h    officially listed as reserved
  4389.  A3h    officially listed as reserved
  4390.  A4h    officially listed as reserved
  4391.  A5h    FreeBSD, BSD/386
  4392.  A6h    officially listed as reserved
  4393.  B1h    officially listed as reserved
  4394.  B3h    officially listed as reserved
  4395.  B4h    officially listed as reserved
  4396.  B6h    officially listed as reserved
  4397.  B7h    BSDI file system (secondarily swap)
  4398.  B8h    BSDI swap partition (secondarily file system)
  4399.  C1h    DR DOS 6.0 LOGIN.EXE-secured 12-bit FAT partition
  4400.  C4h    DR DOS 6.0 LOGIN.EXE-secured 16-bit FAT partition
  4401.  C6h    DR DOS 6.0 LOGIN.EXE-secured Huge partition
  4402.  C6h    corrupted FAT16 volume/stripe set (Windows NT)
  4403.  C7h    Syrinx Boot
  4404.  C7h    corrupted NTFS volume/stripe set
  4405.  D8h    CP/M-86
  4406.  DBh    CP/M, Concurrent CP/M, Concurrent DOS
  4407.  DBh    CTOS (Convergent Technologies OS)
  4408.  E1h    SpeedStor 12-bit FAT extended partition
  4409.  E3h    DOS read-only
  4410.  E3h    Storage Dimensions
  4411.  E4h    SpeedStor 16-bit FAT extended partition
  4412.  E5h    officially listed as reserved
  4413.  E6h    officially listed as reserved
  4414.  F1h    Storage Dimensions
  4415.  F2h    DOS 3.3+ secondary partition
  4416.  F3h    officially listed as reserved
  4417.  F4h    SpeedStor
  4418.  F4h    Storage Dimensions
  4419.  F6h    officially listed as reserved
  4420.  FEh    LANstep
  4421.  FEh    IBM PS/2 IML
  4422.  FFh    Xenix bad block table
  4423. Note:    for partition type 07h, one should inspect the partition boot record
  4424.       for the actual file system type
  4425. SeeAlso: #0568
  4426.  
  4427. (Table 0570)
  4428. Values Bootstrap loader is called with (IBM BIOS):
  4429.     CS:IP = 0000h:7C00h
  4430.     DH = access
  4431.         bits 7-6,4-0: don't care
  4432.         bit 5: =0 device supported by INT 13
  4433.     DL = boot drive
  4434.         00h first floppy
  4435.         80h first hard disk
  4436. --------B-1A00-------------------------------
  4437. INT 1A - TIME - GET SYSTEM TIME
  4438.     AH = 00h
  4439. Return: CX:DX = number of clock ticks since midnight
  4440.     AL = midnight flag, nonzero if midnight passed since time last read
  4441. Notes:    there are approximately 18.2 clock ticks per second, 1800B0h per 24 hrs
  4442.       (except on Tandy 2000, where the clock runs at 20 ticks per second)
  4443.     IBM and many clone BIOSes set the flag for AL rather than incrementing
  4444.       it, leading to loss of a day if two consecutive midnights pass
  4445.       without a request for the time (e.g. if the system is on but idle)
  4446.     since the midnight flag is cleared, if an application calls this
  4447.       function after midnight before DOS does, DOS will not receive the
  4448.       midnight flag and will fail to advance the date
  4449. SeeAlso: AH=01h,AH=02h,INT 21/AH=2Ch,INT 55"Tandy 2000",INT 4E/AH=02h"TI"
  4450. SeeAlso: INT 62/AX=0099h,MEM 0040h:006Ch
  4451. --------B-1A01-------------------------------
  4452. INT 1A - TIME - SET SYSTEM TIME
  4453.     AH = 01h
  4454.     CX:DX = number of clock ticks since midnight
  4455. Return: nothing
  4456. Notes:    there are approximately 18.2 clock ticks per second, 1800B0h per 24 hrs
  4457.       (except on Tandy 2000, where the clock runs at 20 ticks per second)
  4458.     this call resets the midnight-passed flag
  4459. SeeAlso: AH=00h,AH=03h,INT 21/AH=2Dh
  4460. --------B-1A02-------------------------------
  4461. INT 1A - TIME - GET REAL-TIME CLOCK TIME (AT,XT286,PS)
  4462.     AH = 02h
  4463. Return: CF clear if successful
  4464.         CH = hour (BCD)
  4465.         CL = minutes (BCD)
  4466.         DH = seconds (BCD)
  4467.         DL = daylight savings flag (00h standard time, 01h daylight time)
  4468.     CF set on error (i.e. clock not running or in middle of update)
  4469. Note:    this function is also supported by the Sperry PC, which predates the
  4470.       IBM AT; the data is returned in binary rather than BCD on the Sperry,
  4471.       and DL is always 00h
  4472. SeeAlso: AH=00h,AH=03h,AH=04h,INT 21/AH=2Ch
  4473. --------b-1A02-------------------------------
  4474. INT 1A - Tandy 2000 - TIME - GET DATE AND TIME
  4475.     AH = 02h
  4476. Return: BX = number of days since January 1, 1980
  4477.     CH = hours
  4478.     CL = minutes
  4479.     DH = seconds
  4480.     DL = hundredths
  4481. SeeAlso: AH=03h"Tandy 2000",INT 55"Tandy 2000"
  4482. --------B-1A03-------------------------------
  4483. INT 1A - TIME - SET REAL-TIME CLOCK TIME (AT,XT286,PS)
  4484.     AH = 03h
  4485.     CH = hour (BCD)
  4486.     CL = minutes (BCD)
  4487.     DH = seconds (BCD)
  4488.     DL = daylight savings flag (00h standard time, 01h daylight time)
  4489. Return: nothing
  4490. Note:    this function is also supported by the Sperry PC, which predates the
  4491.       IBM AT; the data is specified in binary rather than BCD on the
  4492.       Sperry, and the value of DL is ignored
  4493. SeeAlso: AH=01h,AH=03h,AH=05h,INT 21/AH=2Dh,INT 4B/AH=01h
  4494. --------b-1A03-------------------------------
  4495. INT 1A - Tandy 2000 - TIME - SET DATE AND TIME
  4496.     AH = 03h
  4497.     BX = number of days since January 1, 1980
  4498.     CH = hours
  4499.     CL = minutes
  4500.     DH = seconds
  4501.     DL = hundredths
  4502. Return: nothing
  4503. SeeAlso: AH=02h"Tandy 2000",INT 55"Tandy 2000"
  4504. --------B-1A04-------------------------------
  4505. INT 1A - TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)
  4506.     AH = 04h
  4507. Return: CF clear if successful
  4508.         CH = century (BCD)
  4509.         CL = year (BCD)
  4510.         DH = month (BCD)
  4511.         DL = day (BCD)
  4512.     CF set on error
  4513. SeeAlso: AH=02h,AH=04h"Sperry",AH=05h,INT 21/AH=2Ah,INT 4B/AH=02h"TI"
  4514. --------b-1A04-------------------------------
  4515. INT 1A - Sperry PC - GET REAL-TIME CLOCK DATE
  4516.     AH = 04h
  4517. Return: CF clear if successful
  4518.         CL = year-1980
  4519.         DH = month (binary) (01h-0Ch)
  4520.         DL = day (binary) (01h-1Fh)
  4521.     CF set on error
  4522. SeeAlso: AH=02h,AH=04h,AH=05h"Sperry",INT 21/AH=2Ah,INT 4B/AH=02h"TI"
  4523. --------B-1A05-------------------------------
  4524. INT 1A - TIME - SET REAL-TIME CLOCK DATE (AT,XT286,PS)
  4525.     AH = 05h
  4526.     CH = century (BCD)
  4527.     CL = year (BCD)
  4528.     DH = month (BCD)
  4529.     DL = day (BCD)
  4530. Return: nothing
  4531. SeeAlso: AH=04h,INT 21/AH=2Bh"DATE",INT 4B/AH=00h"TI"
  4532. --------b-1A05-------------------------------
  4533. INT 1A - Sperry PC - SET REAL-TIME CLOCK DATE
  4534.     AH = 05h
  4535.     CL = year-1980
  4536.     CH = 00h (???)
  4537.     DH = month (binary) (01h-0Ch)
  4538.     DL = day (binary) (01h-1Fh)
  4539. Return: nothing
  4540. SeeAlso: AH=02h,AH=04h"Sperry",AH=05h,INT 21/AH=2Bh"DATE"
  4541. --------B-1A06-------------------------------
  4542. INT 1A - TIME - SET ALARM (AT,XT286,PS)
  4543.     AH = 06h
  4544.     CH = hour (BCD)
  4545.     CL = minutes (BCD)
  4546.     DH = seconds (BCD)
  4547. Return: CF set on error (alarm already set or clock stopped for update)
  4548.     CF clear if successful
  4549. Notes:    the alarm occurs every 24 hours until turned off, invoking INT 4A each
  4550.       time
  4551.     the BIOS does not check for invalid values for the time, so the CMOS
  4552.       clock chip's "don't care" setting (any values between C0h and FFh)
  4553.       may be used for any or all three parts.  For example, to create an
  4554.       alarm once a minute, every minute, call with CH=FFh, CL=FFh, and
  4555.       DH=00h.
  4556. SeeAlso: AH=07h,AH=0Ch,INT 4A"SYSTEM"
  4557. --------B-1A07-------------------------------
  4558. INT 1A - TIME - CANCEL ALARM (AT,XT286,PS)
  4559.     AH = 07h
  4560. Return: alarm disabled
  4561. Note:    does not disable the real-time clock's IRQ
  4562. SeeAlso: AH=06h,AH=0Dh,INT 70
  4563. --------B-1A08-------------------------------
  4564. INT 1A - TIME - SET RTC ACTIVATED POWER ON MODE (CONVERTIBLE)
  4565.     AH = 08h
  4566.     CH = hours in BCD
  4567.     CL = minutes in BCD
  4568.     DH = seconds in BCD
  4569. SeeAlso: AH=09h
  4570. --------B-1A09-------------------------------
  4571. INT 1A - TIME - READ RTC ALARM TIME AND STATUS (CONV,PS30)
  4572.     AH = 09h
  4573. Return: CH = hours in BCD
  4574.     CL = minutes in BCD
  4575.     DH = seconds in BCD
  4576.     DL = alarm status
  4577.         00h alarm not enabled
  4578.         01h alarm enabled but will not power up system
  4579.         02h alarm will power up system
  4580. SeeAlso: AH=08h
  4581. --------B-1A0A-------------------------------
  4582. INT 1A - TIME - READ SYSTEM-TIMER DAY COUNTER (XT2,PS)
  4583.     AH = 0Ah
  4584. Return: CF set on error
  4585.     CF clear if successful
  4586.         CX = count of days since Jan 1,1980
  4587. SeeAlso: AH=04h,AH=0Bh
  4588. --------B-1A0B-------------------------------
  4589. INT 1A - TIME - SET SYSTEM-TIMER DAY COUNTER (XT2,PS)
  4590.     AH = 0Bh
  4591.     CX = count of days since Jan 1,1980
  4592. Return: CF set on error
  4593.     CF clear if successful
  4594. SeeAlso: AH=05h,AH=0Ah
  4595. --------B-1A0C-------------------------------
  4596. INT 1A - TIME - SET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
  4597.     AH = 0Ch
  4598.     CH = hours (BCD)
  4599.     CL = minutes (BCD)
  4600.     DH = seconds (BCD)
  4601.     DL = day of month (BCD)
  4602. Return: CF clear if successful
  4603.     CF set on error (alarm already set or clock nonfunctional)
  4604. Desc:    set an automatic power-on for a given time in the future
  4605. Note:    IBM classifies this function as optional
  4606. SeeAlso: AH=06h,AH=0Dh,AH=0Eh,INT 4A
  4607. --------B-1A0D-------------------------------
  4608. INT 1A - TIME - RESET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
  4609.     AH = 0Dh
  4610. Return: CF clear if successful
  4611.     CF set on error
  4612. Desc:    cancel a previously-set power-on alarm
  4613. Note:    IBM classifies this function as optional
  4614. SeeAlso: AH=07h,AH=0Ch,AH=0Eh
  4615. --------B-1A0E-------------------------------
  4616. INT 1A - TIME - GET RTC DATE/TIME ALARM AND STATUS (IBM)
  4617.     AH = 0Eh
  4618. Return: CF clear if successful
  4619.         BH = alarm status
  4620.         00h disabled
  4621.         01h enabled but will not power-up system
  4622.         02h enabled, system will power-up on activation
  4623.         CH = alarm time, hours (BCD)
  4624.         CL = alarm time, minutes (BCD)
  4625.         DH = seconds (BCD)
  4626.         DL = day of month (BCD)
  4627.     CF set on error
  4628. SeeAlso: AH=0Ch,AH=0Dh,AH=0Fh
  4629. --------B-1A0F-------------------------------
  4630. INT 1A - TIME - INITIALIZE REAL-TIME CLOCK
  4631.     AH = 0Fh
  4632.     AL = reserved (0)
  4633. Return: CF clear if successful
  4634.     CF set on error
  4635. SeeAlso: AH=0Ch,AH=0Dh,AH=0Eh
  4636. --------J-1A10-------------------------------
  4637. INT 1A - NEC PC-9800 series - PRINTER - INITIALIZE
  4638.     AH = 10h
  4639.     ???
  4640. Return: ???
  4641. SeeAlso: AH=11h,AH=12h,INT 17/AH=01h
  4642. --------J-1A1000-----------------------------
  4643. INT 1A - NEC PC-9800 series - INSTALLATION CHECK
  4644.     AX = 1000h
  4645. Return: AX <> 1000h if NEC
  4646. --------J-1A11-------------------------------
  4647. INT 1A - NEC PC-9800 series - PRINTER - OUTPUT CHARACTER
  4648.     AH = 11h
  4649.     ???
  4650. Return: ???
  4651. SeeAlso: AH=10h,AH=12h,INT 17/AH=00h
  4652. --------J-1A12-------------------------------
  4653. INT 1A - NEC PC-9800 series - PRINTER - SENSE STATUS
  4654.     AH = 12h
  4655.     ???
  4656. Return: ???
  4657. SeeAlso: AH=10h,AH=11h,INT 17/AH=02h
  4658. --------A-1A3601-----------------------------
  4659. INT 1A - WORD PERFECT v5.0 Third Party Interface - INSTALLATION CHECK
  4660.     AX = 3601h
  4661. Return: DS:SI = routine to monitor keyboard input, immediately preceded by the
  4662.         ASCIZ string "WPCORP\0"
  4663. Notes:    WordPerfect 5.0 will call this interrupt at start up to determine if a
  4664.       third party product wants to interface with it.  The third party
  4665.       product must intercept this interrupt and return the address of a
  4666.       keyboard monitor routine.
  4667.     Before checking for keyboard input, and after every key entered by the
  4668.       user, Word Perfect will call the routine whose address was provided
  4669.       in DS:SI with the following parameters:
  4670.         Entry:    AX = key code or 0
  4671.             BX = WordPerfect state flag
  4672.         Exit:    AX = 0 or key code
  4673.             BX = 0 or segment address of buffer with key codes
  4674.     See the "WordPerfect 5.0 Developer's Toolkit" for further information.
  4675. SeeAlso: INT 16/AX=5500h
  4676. --------N-1A6108-----------------------------
  4677. INT 1A - SNAP.EXE 3.2+ - "SNAP_SENDWITHREPLY" - SEND MSG AND GET REPLY
  4678.     AX = 6108h
  4679.     STACK:    WORD    conversation ID (0000h-0009h)
  4680.         DWORD    pointer to message buffer
  4681.         WORD    length of message
  4682.         DWORD    pointer to reply buffer
  4683.         WORD    length of reply buffer
  4684.         WORD    0000h (use default "Cparams" structure)
  4685. Return: AX = status (see #0571)
  4686.     STACK unchanged
  4687. Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
  4688.       which implements the Simple Network Application Protocol
  4689. SeeAlso: AX=6205h
  4690.  
  4691. (Table 0571)
  4692. Values for SNAP.EXE status:
  4693.  0000h    successful
  4694.  F830h    "SNAP_ABORTED"
  4695.  FC04h    "SNAP_SERVERDIED"
  4696.  FC05h    "SNAP_RESEND"
  4697.  FC06h    "SNAP_SELECTFAILED"
  4698.  FC07h    "SNAP_WRONGVERSION"
  4699.  FC08h    "SNAP_INVALIDACK"
  4700.  FC09h    "SNAP_TIMEOUT"
  4701.  FC0Ah    "SNAP_SERVERREJECT"
  4702.  FC0Bh    "SNAP_NOREPLYDUE"
  4703.  FC0Ch    "SNAP_NOAUTHENTICATE"/"SNAP_GUARDIAN_ERROR"
  4704.  FC0Dh    "SNAP_NOINIT"
  4705.  FC0Eh    "SNAP_SOCKETERROR"
  4706.  FC0Fh    "SNAP_BUFFERLIMIT"
  4707.  FC10h    "SNAP_INVALIDCID"
  4708.  FC11h    "SNAP_INVALIDOP"
  4709.  FC12h    "SNAP_XMITFAIL"
  4710.  FC13h    "SNAP_NOMORERETRIES"
  4711.  FC14h    "SNAP_BADPARMS"
  4712.  FC15h    "SNAP_NOMEMORY"
  4713.  FC16h    "SNAP_NOMORECONVS"
  4714.  FFFFh    failed (invalid function/parameter)
  4715. --------N-1A6205-----------------------------
  4716. INT 1A - SNAP.EXE 3.2+ - "SNAP_SENDNOREPLY" - SEND MSG, DON'T AWAIT REPLY
  4717.     AX = 6205h
  4718.     STACK:    WORD    conversation ID (0000h-0009h)
  4719.         DWORD    pointer to message
  4720.         WORD    length of message
  4721.         WORD    0000h (use default "Cparms" structure)
  4722. Return: AX = status (see #0571)
  4723.     STACK unchanged
  4724. SeeAlso: AX=6108h
  4725. --------N-1A6308-----------------------------
  4726. INT 1A - SNAP.EXE 3.2+ - "SNAP_BEGINCONV" - BEGIN CONVERSATION
  4727.     AX = 6308h
  4728.     STACK:    WORD    offset of ASCIZ "guardian"
  4729.         WORD    offset of ASCIZ hostname
  4730.         WORD    offset of ASCIZ server name
  4731.         WORD    offset of ASCIZ userid
  4732.         WORD    offset of ASCIZ password
  4733.         WORD    offset of password length
  4734.         WORD    offset of password type
  4735.         WORD    offset of "Cparms" structure (see #0572)
  4736. Return: ???
  4737.     STACK unchanged
  4738. Note:    all stacked offsets are within the SNAP data segment (use AX=6A01h
  4739.       to allocate a buffer)
  4740. SeeAlso: AX=6405h,AX=7202h
  4741.  
  4742. Format of SNAP.EXE Cparms structure:
  4743. Offset    Size    Description    (Table 0572)
  4744.  00h    WORD    retry delay in seconds
  4745.  02h    WORD    timeout delay in seconds
  4746.  04h    WORD    maximum buffer size
  4747.  06h    WORD    encryption level
  4748. --------N-1A6405-----------------------------
  4749. INT 1A - SNAP.EXE 3.2+ - "SNAP_ENDCONV" - END CONVERSATION
  4750.     AX = 6405h
  4751.     STACK:    WORD    conversation ID (0000h-0009h)
  4752.         DWORD    pointer to message buffer
  4753.         WORD    length of message
  4754.         WORD    0000h (use default "Cparms" structure)
  4755. Return: AX = status (see #0571)
  4756.     STACK unchanged
  4757. Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
  4758.       which implements the Simple Network Application Protocol
  4759. SeeAlso: AX=6308h
  4760. --------N-1A6900-----------------------------
  4761. INT 1A - SNAP.EXE 3.2+ - "SNAP_DATASEG" - GET RESIDENT DATA SEGMENT
  4762.     AX = 6900h
  4763. Return: AX = value used for DS by resident code
  4764. SeeAlso: AX=6A01h,AX=6F01h
  4765. --------N-1A6A01-----------------------------
  4766. INT 1A - SNAP.EXE 3.2+ - "SNAP_ALLOC" - ALLOCATE BUFFER IN SNAP DATA SEGMENT
  4767.     AX = 6A01h
  4768.     STACK:    WORD    number of bytes to allocate
  4769. Return: AX = offset of allocated buffer or 0000h if out of memory
  4770.     STACK unchanged
  4771. Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
  4772.       which implements the Simple Network Application Protocol
  4773. SeeAlso: AX=6B01h
  4774. --------N-1A6B01-----------------------------
  4775. INT 1A - SNAP.EXE 3.2+ - "SNAP_FREE" - DEALLOCATE BUFFER IN SNAP DATA SEGMENT
  4776.     AX = 6B01h
  4777.     STACK:    WORD    offset within SNAP data segment of previously allocated
  4778.             buffer
  4779. Return: STACK unchanged
  4780. Note:    this call is a NOP if the specified offset is 0000h
  4781. SeeAlso: AX=6A01h
  4782. --------N-1A6C04-----------------------------
  4783. INT 1A - SNAP.EXE 3.2+ - "SNAP_COPYTO" - COPY DATA TO RESIDENT SNAP PACKAGE
  4784.     AX = 6C04h
  4785.     STACK:    WORD    offset within SNAP data segment of dest (nonzero)
  4786.         WORD    segment of source buffer
  4787.         WORD    offset of source buffer
  4788.         WORD    number of bytes to copy
  4789. Return: AX = offset of byte after last one copied to destination
  4790.     STACK unchanged
  4791. Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
  4792.       which implements the Simple Network Application Protocol
  4793. SeeAlso: AX=6D04h
  4794. --------N-1A6D04-----------------------------
  4795. INT 1A - SNAP.EXE 3.2+ - "SNAP_COPYFROM" - COPY DATA FROM RESIDENT SNAP PACKAGE
  4796.     AX = 6D04h
  4797.     STACK:    WORD    offset within SNAP data segment of source buffer
  4798.         WORD    segment of destination buffer
  4799.         WORD    offset of destination buffer
  4800.         WORD    number of bytes to copy
  4801. Return: AX = offset of byte after last one copied from source
  4802.     buffer filled
  4803.     STACK unchanged
  4804. SeeAlso: AX=6C04h
  4805. --------N-1A6E01-----------------------------
  4806. INT 1A - SNAP.EXE 3.2+ - "SNAP_SETDEBUG" - SET ???
  4807.     AX = 6E01h
  4808.     STACK:    WORD    new value for ???
  4809. Return: AX = old value of ???
  4810.     STACK unchanged
  4811. Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
  4812.       which implements the Simple Network Application Protocol
  4813. --------N-1A6F01-----------------------------
  4814. INT 1A - SNAP.EXE 3.2+ - "SNAP_CHKINSTALL" - INSTALLATION CHECK
  4815.     AX = 6F01h
  4816.     STACK: WORD 0000h
  4817. Return: AX = status
  4818.         0000h SNAP is resident
  4819.         other SNAP not present
  4820.     STACK unchanged
  4821. Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
  4822.       which implements the Simple Network Application Protocol, and is
  4823.       required by PCVENUS (a network shell).  The combination of SNAP and
  4824.       PCVENUS allows the use of the Andrew File System as one or more
  4825.       networked drives.
  4826. SeeAlso: AX=6900h,AX=7400h
  4827. --------N-1A7002-----------------------------
  4828. INT 1A - SNAP.EXE 3.2+ - "SNAP_SETANCHOR"
  4829.     AX = 7002h
  4830.     STACK:    WORD    anchor number (0000h-0009h)
  4831.         WORD    new value for the anchor
  4832. Return: AX = status
  4833.         0000h successful
  4834.         FFFFh failed (top word on stack not in range 00h-09h)
  4835.     STACK unchanged
  4836. SeeAlso: AX=7101h
  4837. --------N-1A7101-----------------------------
  4838. INT 1A - SNAP.EXE 3.2+ - "SNAP_GETANCHOR"
  4839.     AX = 7101h
  4840.     STACK:    WORD    anchor number (0000h-0009h)
  4841. Return: AX = anchor's value
  4842.     STACK unchanged
  4843. Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
  4844.       which implements the Simple Network Application Protocol
  4845. SeeAlso: AX=7002h
  4846. --------N-1A7202-----------------------------
  4847. INT 1A - SNAP.EXE 3.2+ - "SNAP_SETCONVPARMS" - SET CONVERSATION PARAMETERS
  4848.     AX = 7202h
  4849.     STACK:    WORD    conversation ID (0000h-0009h)
  4850.         WORD    offset within resident data segment of "Cparms"
  4851.               structure (see #0572)
  4852. Return: AX = status???
  4853.     STACK unchanged
  4854. SeeAlso: AX=6308h
  4855. --------N-1A7302-----------------------------
  4856. INT 1A - SNAP.EXE 3.2+ - "SNAP_CLIENTVERSION" - ???
  4857.     AX = 7302h
  4858.     STACK:    WORD    conversation ID (0000h-0009h)
  4859.         WORD    offset within resident data segment of ???
  4860. Return: AX = ???
  4861.     ???
  4862.     STACK unchanged
  4863. SeeAlso: AX=7400h
  4864. --------N-1A7400-----------------------------
  4865. INT 1A - SNAP.EXE 3.2+ - "SNAP_VERSION" - GET VERSION
  4866.     AX = 7400h
  4867. Return: AX = version (AH=major, AL=minor)
  4868. Note:    this call is only valid if SNAP is installed
  4869. SeeAlso: AX=7302h,INT 1A/AX=6F01h
  4870. --------N-1A75-------------------------------
  4871. INT 1A - SNAP.EXE 3.2+ - "SNAP_NOP" - ???
  4872.     AH = 75h
  4873.     AL = ???
  4874. Return: AX = ??? (0000h)
  4875. Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
  4876.       which implements the Simple Network Application Protocol
  4877. --------N-1A76-------------------------------
  4878. INT 1A - SNAP.EXE 3.2+ - "SNAP_802_5" - ???
  4879.     AH = 76h
  4880.     AL = ???
  4881. Return: AX = ???
  4882. --------N-1A77-------------------------------
  4883. INT 1A - SNAP.EXE 3.4 - ???
  4884.     AH = 77h
  4885.     AL = ??? (at least 01h)
  4886.     STACK:    WORD    ???
  4887.         ???
  4888. Return: ???
  4889.     STACK unchanged
  4890. --------N-1A7802-----------------------------
  4891. INT 1A - SNAP.EXE 3.4 - ???
  4892.     AX = 7802h
  4893.     STACK:    WORD    ???
  4894.         WORD    ???
  4895. Return: ???
  4896.     STACK unchanged
  4897. Program: SNAP.EXE is a TSR written by IBM and Carnegie Mellon University
  4898.       which implements the Simple Network Application Protocol
  4899. --------s-1A7F-------------------------------
  4900. INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???
  4901.     AH = 7Fh
  4902.     ???
  4903. Return: ???
  4904. Note:    this function is not supported by the Tandy 1000SL/TL BIOS
  4905. SeeAlso: AH=80h,AH=83h,AH=85h
  4906. --------s-1A80-------------------------------
  4907. INT 1A - PCjr, Tandy 2500???, Tandy 1000SL/TL - SET UP SOUND MULTIPLEXOR
  4908.     AH = 80h
  4909.     AL = 00h source is 8253 channel 2
  4910.          01h source is cassette input
  4911.          02h source is I/O channel "Audio IN"
  4912.          03h source is sound generator chip
  4913. Note:    although documented in the 1000TL Technical Reference, the 1000TL
  4914.       BIOS has just an IRET for this call
  4915. SeeAlso: AH=7Fh,AH=83h
  4916. --------X-1A80-------------------------------
  4917. INT 1A - PCMCIA Socket Services v1.00 - GET NUMBER OF ADAPTERS
  4918.     AH = 80h
  4919. Return: CF clear if successful
  4920.         CX = 5353h ('SS') if Socket Services installed
  4921.         AL = number of adapters present (0-16)
  4922.         AH destroyed
  4923.     CF set on error
  4924.         AH = error code (see #0573)
  4925. SeeAlso: AH=83h"PCMCIA"
  4926.  
  4927. (Table 0573)
  4928. Values for PCMCIA error codes:
  4929.  01h    "BAD_ADAPTER" nonexistent adapter
  4930.  02h    "BAD_ATTRIBUTE" invalid attribute specified
  4931.  03h    "BAD_BASE" invalid system memory base address
  4932.  04h    "BAD_EDC" invalid EDC generator specified
  4933.  05h    "BAD_INDICATOR" invalid indicator specified
  4934.  06h    "BAD_IRQ" invalid IRQ channel specified
  4935.  07h    "BAD_OFFSET" invalid PCMCIA card offset specified
  4936.  08h    "BAD_PAGE" invalid page specified
  4937.  09h    "BAD_READ" unable to complete request
  4938.  0Ah    "BAD_SIZE" invalid window size specified
  4939.  0Bh    "BAD_SOCKET" nonexistent socket specified
  4940.  0Ch    "BAD_TECHNOLOGY" unsupported Card Technology for writes
  4941.  0Dh    "BAD_TYPE" unavailable window type specified
  4942.  0Eh    "BAD_VCC" invalid Vcc power level index specified
  4943.  0Fh    "BAD_VPP" invalid Vpp1 or Vpp2 power level index specified
  4944.  10h    "BAD_WAIT" invalid number of wait states specified
  4945.  11h    "BAD_WINDOW" nonexistent window specified
  4946.  12h    "BAD_WRITE" unable to complete request
  4947.  13h    "NO_ADAPTERS" no adapters installed, but Socket Services is present
  4948.  14h    "NO_CARD" no card in socket
  4949.  15h    function not supported
  4950.  16h    invalid mode
  4951.  17h    invalid speed
  4952.  18h    busy
  4953. --------X-1A81-------------------------------
  4954. INT 1A - PCMCIA Socket Services v1.00 - REGISTER STATUS CHANGE CALLBACK
  4955.     AH = 81h
  4956.     DS:DX -> callback routine (see #0574) or 0000h:0000h to disable
  4957. Return: CF clear if successful
  4958.         AH destroyed
  4959.     CF set on error
  4960.         AH = error code (see #0573)
  4961. Note:    the callback will be invoked on any socket changes whose notification
  4962.       has not been disabled with the status change enable mask; it may be
  4963.       invoked either while processing a hardware interrupt from the adapter
  4964.       or while processing the following Socket Services request
  4965. SeeAlso: AH=80h"PCMCIA",AH=82h"PCMCIA"
  4966.  
  4967. (Table 0574)
  4968. Values PCMCIA callback routine is invoked with:
  4969.     AL = adapter number
  4970.     BH = status change interrupt enable mask (see #0575)
  4971.     BL = socket number
  4972.     DH = current socket status (see #0576)
  4973.     DL = current card status (see #0577)
  4974. Return: all registers preserved
  4975. Notes:    the callback may be invoked during a hardware interrupt, and may not
  4976.       call on Socket Services
  4977.     the callback will be invoked once for each socket with a status change
  4978.  
  4979. Bitfields for PCMCIA status change interrupt enable mask:
  4980. Bit(s)    Description    (Table 0575)
  4981.  7    card detect change
  4982.  6    ready change
  4983.  5    battery warning change
  4984.  4    battery dead change
  4985.  3    insertion request
  4986.  2    ejection request
  4987.  1-0    reserved (0)
  4988.  
  4989. Bitfields for PCMCIA current socket status:
  4990. Bit(s)    Description    (Table 0576)
  4991.  7    card changed
  4992.  6    reserved (0)
  4993.  5    card insertion complete
  4994.  4    card ejection complete
  4995.  3    card insertion request pending
  4996.  2    card ejection request pending
  4997.  1    card locked
  4998.  0    reserved (0)
  4999.  
  5000. Bitfields for PCMCIA current card status:
  5001. Bit(s)    Description    (Table 0577)
  5002.  7    card detect
  5003.  6    ready
  5004.  5    battery voltage detect 2 (battery warning)
  5005.  4    battery voltage detect 1 (battery dead)
  5006.  3-1    reserved (0)
  5007.  0    write protected
  5008. --------s-1A8100-----------------------------
  5009. INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND - INSTALLATION CHECK
  5010.     AX = 8100h
  5011. Return: AL > 80h if supported
  5012.     AX = 00C4h if supported (1000SL/TL)
  5013.         CF set if sound chip is busy
  5014.         CF clear  if sound chip is free
  5015. Note:    the value of CF is not definitive; call this function until CF is
  5016.       clear on return, then call AH=84h"Tandy"
  5017. --------s-1A82-------------------------------
  5018. INT 1A - Tandy 2500???, Tandy 1000SL/TL - DIGITAL SOUND - RECORD SOUND
  5019.     AH = 82h
  5020.     ES:BX -> buffer for sound samples
  5021.     CX = length of buffer
  5022.     DX = transfer rate (1-4095, 1 is fastest)
  5023. Return: AH = 00h
  5024.     CF set if sound busy
  5025.     CF clear if sound chip free
  5026. Note:    the value in DX should be 1/10 the corresponding value for
  5027.       INT 1A/AH=83h on the 1000TL, 1/11.5 on the 1000SL.  Call
  5028.       INT 1A/AX=8100h and INT 1A/AH=84h before invoking this function.
  5029.     The BIOS issues an INT 15/AX=91FBh when the input is complete
  5030.     DMA across a 64K boundary is masked by the BIOS
  5031. --------X-1A82-------------------------------
  5032. INT 1A - PCMCIA Socket Services v1.00 - REGISTER CARD TECHNOLOGY CALLBACK
  5033.     AH = 82h
  5034.     DS:DX -> callback routine (see #0578) or 0000h:0000h
  5035. Return: CF clear if successful
  5036.         AH destroyed
  5037.     CF set on error
  5038.         AH = error code (see #0573)
  5039. Note:    the callback is invoked on a Write Multiple request with an unsupported
  5040.       card technology type
  5041. SeeAlso: AH=81h"PCMCIA",AH=94h
  5042.  
  5043. (Table 0578)
  5044. Values PCMCIA callback routine is invoked with:
  5045.     ES:AX -> Low-Level Socket Services Routines (see #0580)
  5046.     BH = socket attributes (see #0579)
  5047.     CX = number of bytes or words to write
  5048.     DS:SI -> data buffer to be written
  5049.     DX:DI -> 26-bit linear card address
  5050.     BP = card technology type
  5051. Return: CF clear if successful
  5052.     CF set on error
  5053.         AH = error code (07h,0Ch,12h,14h) (see #0573)
  5054.  
  5055. Bitfields for PCMCIA socket attributes:
  5056. Bit(s)    Description    (Table 0579)
  5057.  7-4    reserved (0)
  5058.  3    packed buffer
  5059.  2    even bytes only (only valid if 1 set)
  5060.  1    data width (clear = byte, set = word)
  5061.  0    memory type (clear = common, set = attribute)
  5062.  
  5063. Format of PCMCIA Low-Level Socket Services Routines:
  5064. Offset    Size    Description    (Table 0580)
  5065.  00h    WORD    offset of Write Many routine (see #0581)
  5066.  02h    WORD    offset of Write One routine (see #0582)
  5067.  04h    WORD    offset of Read One routine (see #0583)
  5068.  06h    WORD    offset of Increment Offset routine (see #0584)
  5069.  08h    WORD    offset of Set Offset routine (see #0585)
  5070.  0Ah    WORD    offset of Get Status routine (see #0586)
  5071.  
  5072. (Table 0581)
  5073. Call Write Many routine with:
  5074.     BH = socket attributes (see #0579)
  5075.     CX = number of bytes or words to write
  5076.     DS:SI -> data to be written
  5077. Return: CF clear if successful
  5078.     CF set on error
  5079.  
  5080. (Table 0582)
  5081. Call Write One routine with:
  5082.     AL/AX = data to be written
  5083.     BH = socket attributes (see #0579)
  5084. Return: CF clear if successful
  5085.     CF set on error
  5086.  
  5087. (Table 0583)
  5088. Call Read One routine with:
  5089.     BH = socket attributes (see #0579)
  5090. Return: CF clear if successful
  5091.         AL/AX = data read
  5092.     CF set on error
  5093.  
  5094. (Table 0584)
  5095. Call Increment Offset routine with:
  5096.     BH = socket attributes (see #0579)
  5097. Return: CF clear if successful
  5098.     CF set on error
  5099.  
  5100. (Table 0585)
  5101. Call Set Offset routine with:
  5102.     DX:DI = new offset address
  5103. Return: CF clear if successful
  5104.     CF set on error
  5105.  
  5106. (Table 0586)
  5107. Call Get Status routine with:
  5108.     nothing
  5109. Return: AL = current card status (see #0577)
  5110. --------s-1A83-------------------------------
  5111. INT 1A - Tandy 2500, Tandy 1000L series - START PLAYING DIGITAL SOUND
  5112.     AH = 83h
  5113.     AL = volume (0=silence, 7=highest)
  5114.     CX = number of bytes to play
  5115.     DX = time between sound samples (multiples of 273 nanoseconds)
  5116.         only bits 11-0 used
  5117.     ES:BX -> sound data (array of 8-bit unsigned PCM samples)
  5118. Return: AH = 00h
  5119.     CF set if sound is busy
  5120.     CF clear if sound chip is free
  5121. Notes:    this call returns immediately while the sound plays in the
  5122.       background; the sound chip is clocked at 3.57 MHz, with the low 12
  5123.       bits of DX specifying the clock divisor
  5124.     The BIOS appears to call INT 15/AX=91FBh when the sound device
  5125.       underflows to allow another INT 1A/AH=83h for seamless playing of
  5126.       long sounds.
  5127. SeeAlso: AH=84h"Tandy",INT 15/AH=91h
  5128. --------X-1A83-------------------------------
  5129. INT 1A - PCMCIA Socket Services v1.00 - GET SOCKET SERVICES VERSION NUMBER
  5130.     AH = 83h
  5131.     AL = adapter number
  5132. Return: CF clear if successful
  5133.         AX = Socket Services version (BCD)
  5134.         BX = implementation version (BCD)
  5135.         CX = 5353h ("SS")
  5136.         DS:SI -> ASCIZ implementor description
  5137.     CF set on error
  5138.         AH = error code (01h) (see #0573)
  5139. Note:    the current version (from the Revision A.00 documentation) of Socket
  5140.       Services is 1.00 (AX=0100h)
  5141. SeeAlso: AH=80h"PCMCIA"
  5142. --------s-1A84-------------------------------
  5143. INT 1A - Tandy 2500, Tandy 1000L series - STOP PLAYING DIGITAL SOUND
  5144.     AH = 84h
  5145. Return: ???
  5146. Note:    the BIOS will call INT 15/AX=91FBh when the sound has stopped playing
  5147. SeeAlso: AH=83h"Tandy",AH=85h"Tandy"
  5148. --------X-1A84-------------------------------
  5149. INT 1A - PCMCIA Socket Services v1.00 - INQUIRE ADAPTER
  5150.     AH = 84h
  5151.     AL = adapter number
  5152. Return: CF clear if successful
  5153.         AH destroyed
  5154.         BH = number of windows
  5155.         BL = number of sockets (1-16)
  5156.         CX = number of EDCs
  5157.         DH = capabilities (see #0587)
  5158.         DL = status change interrupt used (only if DH bit 3 set)(see #0588)
  5159.     CF set on error
  5160.         AH = error code (01h) (see #0573)
  5161. SeeAlso: AH=80h"PCMCIA",AH=85h"PCMCIA",AH=87h
  5162.  
  5163. Bitfields for PCMCIA capabilities:
  5164. Bit(s)    Description    (Table 0587)
  5165.  7-6    reserved (0)
  5166.  5    status change interrupt is hardware shareable
  5167.  4    status change interrupt is software shareable
  5168.  3    status change interrupt
  5169.  2    data bus width is per-socket rather than per-window
  5170.  1    power management is per-adapter rather than per-socket
  5171.  0    indicators are per-adapter rather than per-socket
  5172.  
  5173. (Table 0588)
  5174. Values for PCMCIA status change interrupt usage:
  5175.  00h-0Fh IRQ level
  5176.  10h    NMI
  5177.  11h    I/O check
  5178.  12h    bus error
  5179.  13h    vendor specific
  5180.  14h-FFh reserved
  5181. --------s-1A85-------------------------------
  5182. INT 1A - Tandy 2500, Tandy 1000L series - DIGITAL SOUND???
  5183.     AH = 85h
  5184.     ???
  5185. Return: ???
  5186. Note:    this function is not supported by the Tandy 1000SL/TL BIOS
  5187. SeeAlso: AH=7Fh,AH=83h"Tandy"
  5188. --------X-1A85-------------------------------
  5189. INT 1A - PCMCIA Socket Services v1.00 - GET ADAPTER
  5190.     AH = 85h
  5191.     AL = adapter number
  5192. Return: CF clear if successful
  5193.         AH destroyed
  5194.         DH = adapter attributes (see #0589)
  5195.     CF set on error
  5196.         AH = error code (01h) (see #0573)
  5197. SeeAlso: AH=84h"PCMCIA",AH=86h
  5198.  
  5199. Bitfields for PCMCIA adapter attributes:
  5200. Bit(s)    Description    (Table 0589)
  5201.  7-5    reserved (0)
  5202.  4    hardware share status change
  5203.  3    software share status change
  5204.  2    enable status change interrupts
  5205.  1    adapter preserves state information during reduced power consumption
  5206.  0    attempting to reduce power consumption
  5207. --------X-1A86-------------------------------
  5208. INT 1A - PCMCIA Socket Services v1.00 - SET ADAPTER
  5209.     AH = 86h
  5210.     AL = adapter number
  5211.     DH = new adapter attributes (see #0589)
  5212. Return: CF clear if successful
  5213.         AH destroyed
  5214.     CF set on error
  5215.         AH = error code (01h) (see #0573)
  5216. SeeAlso: AH=84h"PCMCIA",AH=85h"PCMCIA"
  5217. --------X-1A87-------------------------------
  5218. INT 1A - PCMCIA Socket Services v1.00 - INQUIRE WINDOW
  5219.     AH = 87h
  5220.     AL = adapter number
  5221.     BH = window number
  5222. Return: CF clear if successful
  5223.         AH destroyed
  5224.         BL = capabilities (see #0590)
  5225.         CX = bitmap of assignable sockets
  5226.         DH = EISA A15-A12 address lines (in bits 7-4, bits 3-0 = 0)
  5227.         DL = supported access speeds (see #0591)
  5228.         DS:SI -> Memory Window Characteristics table (see #0592)
  5229.         DS:DI -> I/O Window Characteristics table (see #0593)
  5230.     CF set on error
  5231.         AH = error code (01h,11h) (see #0573)
  5232. SeeAlso: AH=84h"PCMCIA",AH=88h,AH=89h,AH=8Ch
  5233.  
  5234. Bitfields for PCMCIA window capabilities:
  5235. Bit(s)    Description    (Table 0590)
  5236.  7-5    reserved (0)
  5237.  4    separate enable for EISA comon space
  5238.  3    EISA I/O mappable
  5239.  2    I/O space
  5240.  1    attribute memory
  5241.  0    common memory
  5242.  
  5243. Bitfields for PCMCIA supported access speeds:
  5244. Bit(s)    Description    (Table 0591)
  5245.  7    reserved (0)
  5246.  6    600 ns
  5247.  5    300 ns
  5248.  4    250 ns
  5249.  3    200 ns
  5250.  2    150 ns
  5251.  1    100 ns
  5252.  0    WAIT line monitoring
  5253.  
  5254. Format of PCMCIA Memory Window Characteristics table:
  5255. Offset    Size    Description    (Table 0592)
  5256.  00h    WORD    window capabilities (see #0594)
  5257.  02h    WORD    minimum base address in 4K pages
  5258.  04h    WORD    maximum base address in 4K pages
  5259.  06h    WORD    minimum window size in 4K pages
  5260.  08h    WORD    maximum window size in 4K pages
  5261.  0Ah    WORD    window size granularity (4K units)
  5262.  0Ch    WORD    required base address alignment (4K units)
  5263.  0Eh    WORD    required card offset alignment (4K units)
  5264.  
  5265. Format of PCMCIA I/O Window Characteristics table:
  5266. Offset    Size    Description    (Table 0593)
  5267.  00h    WORD    window capabilities (see #0594)
  5268.  02h    WORD    minimum base address in bytes
  5269.  04h    WORD    maximum base address in bytes
  5270.  06h    WORD    minimum window size in bytes
  5271.  08h    WORD    maximum window size in bytes
  5272.  0Ah    WORD    window size granularity (bytes)
  5273.  
  5274. Bitfields for PCMCIA window capabilities:
  5275. Bit(s)    Description    (Table 0594)
  5276.  0    programmable base address
  5277.  1    programmable window size
  5278.  2    window disable/enable supported
  5279.  3    8-data bus
  5280.  4    16-data bus
  5281.  5    base address alignment on size boundary required
  5282.  6    power-of-two size granularity
  5283. ---memory windows---
  5284.  7    card offset must be aligned on size boundary
  5285.  8    paging hardware available
  5286.  9    paging hardware shared
  5287.  10    page disable/enable supported
  5288.  11-15    reserved (0)
  5289. ---I/O windows---
  5290.  7-15    reserved (0)
  5291. --------X-1A88-------------------------------
  5292. INT 1A - PCMCIA Socket Services v1.00 - GET WINDOW
  5293.     AH = 88h
  5294.     AL = adapter number
  5295.     BH = window number
  5296. Return: CF clear if successful
  5297.         AH destroyed
  5298.         BL = socket number (0-16) (0 = not assigned)
  5299.         CX = window size (bytes for I/O window, 4K units for memory window)
  5300.         DH = window attributes (see #0595)
  5301.         DL = access speed (only one bit set) (see #0591)
  5302.         SI = window base address (bytes if I/O, 4K units if memory)
  5303.         DI = card offset address (memory only, 4K units)
  5304.     CF set on error
  5305.         AH = error code (01h,11h) (see #0573)
  5306. SeeAlso: AH=87h,AH=89h,AH=8Ah
  5307.  
  5308. Bitfields for PCMCIA window attributes:
  5309. Bit(s)    Description    (Table 0595)
  5310.  0    memory-mapped rather than I/O-mapped
  5311.  1    attribute memory rather than common (memory-mapped)
  5312.     EISA mapped (I/O)
  5313.  2    enabled
  5314.  3    16-data path
  5315.  4    subdivided into pages (memory-mapped only)
  5316.  5    non-specific access slot enable (EISA-mapped only)
  5317.  6-7    reserved (0)
  5318. --------X-1A89-------------------------------
  5319. INT 1A - PCMCIA Socket Services v1.00 - SET WINDOW
  5320.     AH = 89h
  5321.     AL = adapter number
  5322.     BH = window number
  5323.     BL = socket number
  5324.     CX = window size (bytes if I/O window, 4K units if memory window)
  5325.     DH = window attributes (see #0595)
  5326.     DL = access speed (only one bit set) (see #0591)
  5327.     SI = window base address (bytes if I/O, 4K units if memory window)
  5328.     DI = card offset addrress (memory only, 4K units)
  5329. Return: CF clear if successful
  5330.         AH destroyed
  5331.     CF set on error
  5332.         AH = error code (01h,03h,07h,08h,0Ah,0Bh,0Dh,10h,11h) (see #0573)
  5333. SeeAlso: AH=87h,AH=88h,AH=8Bh
  5334. --------X-1A8A-------------------------------
  5335. INT 1A - PCMCIA Socket Services v1.00 - GET PAGE
  5336.     AH = 8Ah
  5337.     AL = adapter number
  5338.     BH = window number
  5339.     BL = page number
  5340. Return: CF clear if successful
  5341.         AH destroyed
  5342.         DX = page attributes (see #0596)
  5343.         DI = memory card offset (4K units)
  5344.     CF set on error
  5345.         AH = error code (01h,08h,11h) (see #0573)
  5346. Notes:    this function is only valid for memory-mapped windows
  5347.     the socket being operated on is implied by the previous AH=89h call
  5348. SeeAlso: AH=88h,AH=8Bh
  5349.  
  5350. Bitfields for PCMCIA page attributes:
  5351. Bit(s)    Description    (Table 0596)
  5352.  0    page enabled
  5353.  15-1    reserved (0)
  5354. --------X-1A8B-------------------------------
  5355. INT 1A - PCMCIA Socket Services v1.00 - SET PAGE
  5356.     AH = 8Bh
  5357.     AL = adapter number
  5358.     BH = window number
  5359.     BL = page number
  5360.     DX = page attributes (see #0596)
  5361.     DI = memory card offset (4K units)
  5362. Return: CF clear if successful
  5363.         AH destroyed
  5364.     CF set on error
  5365.         AH = error code (01h,02h,07h,08h,11h) (see #0573)
  5366. Notes:    this function is only valid for memory-mapped windows
  5367.     the socket being operated on is implied by the previous AH=89h call
  5368. SeeAlso: AH=89h,AH=8Ah
  5369. --------X-1A8C-------------------------------
  5370. INT 1A - PCMCIA Socket Services v1.00 - INQUIRE SOCKET
  5371.     AH = 8Ch
  5372.     AL = adapter number
  5373.     BL = socket number (01h to maximum supported by adapter)
  5374. Return: CF clear if successful
  5375.         AH destroyed
  5376.         DH = capabilities (see #0597)
  5377.         DL = hardware indicators (see #0598)
  5378.         DS:SI -> Socket Characteristics table (see #0599)
  5379.         DS:DI -> Power Management table (see #0601)
  5380.     CF set on error
  5381.         AH = error code (01h,0Bh) (see #0573)
  5382. SeeAlso: AH=87h,AH=8Dh,AH=8Eh
  5383.  
  5384. Bitfields for PCMCIA socket capabilities:
  5385. Bit(s)    Description    (Table 0597)
  5386.  0    card change
  5387.  1    card lock
  5388.  2    insert card (motor control)
  5389.  3    eject card (motor control)
  5390.  4-7    reserved (0)
  5391.  
  5392. Bitfields for PCMCIA socket hardware indicators:
  5393. Bit(s)    Description    (Table 0598)
  5394.  0    busy status
  5395.  1    write-protected
  5396.  2    battery status
  5397.  3    card lock status
  5398.  4    XIP status (eXecute-In-Place)
  5399.  5-7    reserved (0)
  5400.  
  5401. Format of PCMCIA Socket Characteristics table:
  5402. Offset    Size    Description    (Table 0599)
  5403.  00h    WORD    supported card types (see #0600)
  5404.  02h    WORD    steerable IRQ levels (bit 0 = IRQ0 to bit 15 = IRQ15)
  5405.  04h    WORD    additional steerable IRQ levels
  5406.         bit 0: NMI
  5407.         bit 1: I/O check
  5408.         bit 2: bus error
  5409.         bit 3: vendor-unique
  5410.         bits 4-7 reserved (0)
  5411.  
  5412. Bitfields for supported card types:
  5413. Bit(s)    Description    (Table 0600)
  5414.  0    memory card
  5415.  1    I/O card
  5416.  2-7    reserved (0)
  5417.  
  5418. Format of PCMCIA Power Management table:
  5419. Offset    Size    Description    (Table 0601)
  5420.  00h    WORD    number of entries in table (0 if power management not avail)
  5421.  02h 2N BYTEs    power levels
  5422.         byte 0: voltage in 0.1V units
  5423.         byte 1: power supply
  5424.             bit 7: Vcc
  5425.             bit 6: Vpp1
  5426.             bit 5: Vpp2
  5427. --------X-1A8D-------------------------------
  5428. INT 1A - PCMCIA Socket Services v1.00 - GET SOCKET
  5429.     AH = 8Dh
  5430.     AL = adapter number
  5431.     BL = socket number (01h to maximum supported by adapter)
  5432. Return: CF clear if successful
  5433.         AH destroyed
  5434.         BH = status change interrupt enable mask (see #0575)
  5435.         CH = Vcc level (lower nybble) (see #0601)
  5436.         CL = Vpp1 level (upper nybble) and Vpp2 level (lower nybble)
  5437.         DH = current socket status (see #0576)
  5438.         DL = indicators (see #0598)
  5439.         SI = card type (see #0602)
  5440.         DI = IRQ level steering (I/O only) (see #0603)
  5441.     CF set on error
  5442.         AH = error code (01h,0Bh) (see #0573)
  5443. SeeAlso: AH=8Ch,AH=8Eh
  5444.  
  5445. Bitfields for PCMCIA card type:
  5446. Bit(s)    Description    (Table 0602)
  5447.  0    memory
  5448.  1    I/O
  5449.  2-15    reserved (0)
  5450.  
  5451. Bitfields for PCMCIA I/O level steering:
  5452. Bit(s)    Description    (Table 0603)
  5453.  15    interrupt steering enabled
  5454.  14-5    reserved (0)
  5455.  4-0    IRQ level (0-15=IRQ,16=NMI,17=I/O check,18=bus error,19=vendor)
  5456. --------X-1A8E-------------------------------
  5457. INT 1A - PCMCIA Socket Services v1.00 - SET SOCKET
  5458.     AH = 8Eh
  5459.     AL = adapter number
  5460.     BL = socket number (01h to maximum supported by adapter)
  5461.     BH = status change interrupt enable mask (see #0575)
  5462.     CL = Vpp1 level (upper nybble) and Vpp2 level (lower nybble)
  5463.     DH = current socket status (see #0576)
  5464.     DL = indicators (see #0598)
  5465.     SI = card type (see #0602)
  5466.     DI = IRQ level steering (I/O only) (see #0603)
  5467. Return: CF clear if successful
  5468.         AH destroyed
  5469.     CF set on error
  5470.         AH = error code (01h,02h,05h,06h,0Bh,0Eh,0Fh) (see #0573)
  5471. SeeAlso: AH=8Ch,AH=8Dh
  5472. --------X-1A8F-------------------------------
  5473. INT 1A - PCMCIA Socket Services v1.00 - GET CARD
  5474.     AH = 8Fh
  5475.     AL = adapter number
  5476.     BL = socket number (01h to maximum supported by adapter)
  5477. Return: CF clear if successful
  5478.         AH destroyed
  5479.         DL = current card status (see #0577)
  5480.     CF set on error
  5481.         AH = error code (01h,0Bh) (see #0573)
  5482. SeeAlso: AH=8Dh,AH=90h
  5483. --------X-1A90-------------------------------
  5484. INT 1A - PCMCIA Socket Services v1.00 - RESET CARD
  5485.     AH = 90h
  5486.     AL = adapter number
  5487.     BL = socket number (01h to maximum supported by adapter)
  5488. Return: CF clear if successful
  5489.         AH destroyed
  5490.     CF set on error
  5491.         AH = error code (01h,0Bh,14h) (see #0573)
  5492. Note:    toggles RESET pin of the specified card, but does not wait after
  5493.       toggling the pin; it is the caller's responsibility to avoid
  5494.       accessing the card before it is ready again
  5495. --------X-1A91-------------------------------
  5496. INT 1A - PCMCIA Socket Services v1.00 - READ ONE
  5497.     AH = 91h
  5498.     AL = adapter number
  5499.     BL = socket number (01h to maximum supported by adapter)
  5500.     BH = attributes (see #0604)
  5501.     DX:SI = card address
  5502. Return: CF clear if successful
  5503.         AH destroyed
  5504.         CL/CX = value read
  5505.     CF set on error
  5506.         AH = error code (01h,07h,09h,0Bh,14h) (see #0573)
  5507.         CX may be destroyed
  5508. Note:    this function is only valid for I/O-mapped sockets
  5509. SeeAlso: AH=92h,AH=93h,INT 21/AX=440Dh"DOS 3.2+"
  5510.  
  5511. Bitfields for PCMCIA attributes:
  5512. Bit(s)    Description    (Table 0604)
  5513.  2    even bytes only
  5514.  1    word rather than byte
  5515.  0    attribute memory instead of common memory
  5516. --------X-1A92-------------------------------
  5517. INT 1A - PCMCIA Socket Services v1.00 - WRITE ONE
  5518.     AH = 92h
  5519.     AL = adapter number
  5520.     BL = socket number (01h to maximum supported by adapter)
  5521.     BH = attributes (see #0604)
  5522.     CL/CX = value to write
  5523.     DX:SI = card address
  5524. Return: CF clear if successful
  5525.         AH destroyed
  5526.     CF set on error
  5527.         AH = error code (01h,07h,0Bh,12h,14h) (see #0573)
  5528. Note:    this function is only valid for I/O-mapped sockets; it also does not
  5529.       implement Card Technology handling--use AH=94h when writing to
  5530.       non-RAM technologies
  5531. SeeAlso: AH=91h,AH=94h,INT 21/AX=440Dh"DOS 3.2+"
  5532. --------X-1A93-------------------------------
  5533. INT 1A - PCMCIA Socket Services v1.00 - READ MULTIPLE
  5534.     AH = 93h
  5535.     AL = adapter number
  5536.     BL = socket number (01h to maximum supported by adapter)
  5537.     BH = attributes (see #0604)
  5538.     CX = number of bytes or words to read
  5539.     DX:SI = card address
  5540.     DS:DI -> data buffer to be filled
  5541. Return: CF clear if successful
  5542.         AH destroyed
  5543.     CF set on error
  5544.         AH = error code (01h,07h,09h,0Bh,14h) (see #0573)
  5545. Note:    this function is only available on I/O-mapped sockets
  5546. SeeAlso: AH=91h,AH=94h,INT 21/AX=440Dh"DOS 3.2+"
  5547. --------X-1A94-------------------------------
  5548. INT 1A - PCMCIA Socket Services v1.00 - WRITE MULTIPLE
  5549.     AH = 94h
  5550.     AL = adapter number
  5551.     BL = socket number (01h to maximum supported by adapter)
  5552.     BH = attributes (see #0604)
  5553.     CX = number of bytes or words to read
  5554.     DX:DI = card address
  5555.     DS:SI -> buffer containing data
  5556.     BP = Card Technology type (0000h = RAM)
  5557. Return: CF clear if successful
  5558.         AH destroyed
  5559.     CF set on error
  5560.         AH = error code (01h,07h,0Bh,0Ch,12h,14h) (see #0573)
  5561. Notes:    this function is only available on I/O-mapped sockets
  5562.     Socket Services calls the Card Technology callback (see #0578) for
  5563.       any card technology it does not directly support
  5564. SeeAlso: AH=82h"PCMCIA",AH=92h,AH=93h,INT 21/AX=440Dh"DOS 3.2+"
  5565. --------X-1A95-------------------------------
  5566. INT 1A - PCMCIA Socket Services v1.00 - INQUIRE ERROR DETECTION CODE
  5567.     AH = 95h
  5568.     AL = adapter number
  5569.     BH = EDC generator number
  5570. Return: CF clear if successful
  5571.         AH destroyed
  5572.         CX = bitmap of assignable sockets
  5573.         DH = EDC capabilities (see #0605)
  5574.         DL = supported EDC types (see #0606)
  5575.     CF set on error
  5576.         AH = error code (01h,04h) (see #0573)
  5577. SeeAlso: AH=96h,AH=9Ch
  5578.  
  5579. Bitfields for EDC capabilities:
  5580. Bit(s)    Description    (Table 0605)
  5581.  0    unidirectional only generation
  5582.  1    bidirectional only generation
  5583.  2    register-based (I/O-mapped) support
  5584.  3    memory-mapped support
  5585.  4    pausable
  5586.  5-7    reserved (0)
  5587.  
  5588. Bitfields for supported EDC types:
  5589. Bit(s)    Description    (Table 0606)
  5590.  0    8-checksum
  5591.  1    16-CRC-SDLC
  5592.  2-7    reserved (0)
  5593. --------X-1A96-------------------------------
  5594. INT 1A - PCMCIA Socket Services v1.00 - GET ERROR DETECTION CODE
  5595.     AH = 96h
  5596.     AL = adapter number
  5597.     BH = EDC generator number
  5598. Return: CF clear if successful
  5599.         AH destroyed
  5600.         BL = socket number
  5601.         DH = EDC attributes (see #0607)
  5602.         DL = EDC type (see #0606) (only one bit set)
  5603.     CF set on error
  5604.         AH = error code (01h,04h) (see #0573)
  5605. SeeAlso: AH=95h,AH=97h,AH=9Ch
  5606.  
  5607. Bitfields for EDC attributes:
  5608. Bit(s)    Description    (Table 0607)
  5609.  0    unidirectional only
  5610.  1    (if 0 set) clear=read, set=write
  5611.  2-7    reserved (0)
  5612. --------X-1A97-------------------------------
  5613. INT 1A - PCMCIA Socket Services v1.00 - SET ERROR DETECTION CODE
  5614.     AH = 97h
  5615.     AL = adapter number
  5616.     BH = EDC generator
  5617.     BL = socket number
  5618.     DH = EDC attributes (see #0607)
  5619.     DL = EDC type (see #0606) (only one bit may be set)
  5620. Return: CF clear if successful
  5621.         AH destroyed
  5622.     CF set on error
  5623.         AH = error code (01h,02h,04h,0Bh) (see #0573)
  5624. SeeAlso: AH=96h,AH=9Ch
  5625. --------X-1A98-------------------------------
  5626. INT 1A - PCMCIA Socket Services v1.00 - START ERROR DETECTION CODE
  5627.     AH = 98h
  5628.     AL = adapter number
  5629.     BH = EDC generator
  5630. Return: CF clear if successful
  5631.         AH destroyed
  5632.     CF set on error
  5633.         AH = error code (01h,04h) (see #0573)
  5634. SeeAlso: AH=96h,AH=99h,AH=9Bh,AH=9Ch
  5635. --------X-1A99-------------------------------
  5636. INT 1A - PCMCIA Socket Services v1.00 - PAUSE ERROR DETECTION CODE
  5637.     AH = 99h
  5638.     AL = adapter number
  5639.     BH = EDC generator
  5640. Return: CF clear if successful
  5641.         AH destroyed
  5642.     CF set on error
  5643.         AH = error code (01h,04h) (see #0573)
  5644. SeeAlso: AH=9Ah
  5645. --------X-1A9A-------------------------------
  5646. INT 1A - PCMCIA Socket Services v1.00 - RESUME ERROR DETECTION CODE
  5647.     AH = 9Ah
  5648.     AL = adapter number
  5649.     BH = EDC generator
  5650. Return: CF clear if successful
  5651.         AH destroyed
  5652.     CF set on error
  5653.         AH = error code (01h,04h) (see #0573)
  5654. SeeAlso: AH=99h,AH=98h
  5655. --------X-1A9B-------------------------------
  5656. INT 1A - PCMCIA Socket Services v1.00 - STOP ERROR DETECTION CODE
  5657.     AH = 9Bh
  5658.     AL = adapter number
  5659.     BH = EDC generator
  5660. Return: CF clear if successful
  5661.         AH destroyed
  5662.     CF set on error
  5663.         AH = error code (see #0573)
  5664. SeeAlso: AH=98h,AH=99h,AH=9Ch
  5665. --------X-1A9C-------------------------------
  5666. INT 1A - PCMCIA Socket Services v1.00 - READ ERROR DETECTION CODE
  5667.     AH = 9Ch
  5668.     AL = adapter number
  5669.     BH = EDC generator
  5670. Return: CF clear if successful
  5671.         AH destroyed
  5672.         DL/DX = computed checksum or CRC
  5673.     CF set on error
  5674.         AH = error code (01h,04h) (see #0573)
  5675. SeeAlso: AH=95h,AH=96h,AH=98h,AH=99h,AH=9Bh
  5676. --------X-1A9D-------------------------------
  5677. INT 1A - PCMCIA Socket Services v2.1??? - GET VENDOR INFO
  5678.     AH = 9Dh
  5679.     AL = adapter number
  5680.     BH = EDC generator
  5681.     ES:EDI -> vendor information structure (see #0608)
  5682. Return: CF clear if successful
  5683.         AH destroyed
  5684.         DX = vendor release number in BCD
  5685.         ES:EDI unchanged
  5686.     CF set on error
  5687.         AH = error code (01h,15h) (see #0573)
  5688. Notes:    this API is supported by recent versions of the AMI BIOS
  5689.     the low-level API described here is hidden by the higher-level
  5690.       ExCA API once Card Services has been installed
  5691. SeeAlso: AH=9Dh"ExCA"
  5692.  
  5693. Format of Vendor Information structure:
  5694. Offset    Size    Description    (Table 0608)
  5695.  00h    WORD    buffer length (set to size of buffer below)
  5696.  04h    WORD    (ret) data length
  5697.  08h  x BYTEs    implementor name (ASCIIZ string)
  5698. --------X-1A9D-------------------------------
  5699. INT 1A - Intel PCMCIA ExCA Card Services - API
  5700.     AH = 9Dh
  5701.     AL = subfunction (see #0609)
  5702.     ???
  5703. Return: ???
  5704. SeeAlso: AH=9Dh"ExCA",#0803
  5705.  
  5706. (Table 0609)
  5707. Values for PCMCIA ExCA Card Services subfunction number:
  5708.  00h    Client Services: Get Number of Sockets
  5709.  01h    Advanced Client Utilities: Initialize
  5710.  02h    Client Services: Register Client
  5711.  03h    Client Services: Deregister Client
  5712.  04h    Advanced Client Utilities: Enumerate Clients
  5713.  05h    Client Services: Register SCB
  5714.  06h    Client Services: Deregister SCB
  5715.  07h    Advanced Client Utilities: Register MTD
  5716.  08h    Advanced Client Utilities: Deregister MTD
  5717.  09h    Advanced Client Utilities: Enumerate MTD
  5718.  0Ah    Client Services: Get Status
  5719.  0Bh    Client Services: Reset Card
  5720.  0Ch    Client Utilities: Get First Tuple
  5721.  0Dh    Client Utilities: Get Next Tuple
  5722.  0Eh    Client Utilities: Determine First Region
  5723.  0Fh    Client Utilities: Determine Next Region
  5724.  10h    Client Utilities: Get First Region
  5725.  11h    Client Utilities: Get Next Region
  5726.  12h    Client Utilities: Get First Partition
  5727.  13h    Client Utilities: Get Next Partition
  5728.  14h    Bulk Memory Services: Open Region
  5729.  15h    Bulk Memory Services: Read Memory
  5730.  16h    Bulk Memory Services: Write Memory
  5731.  17h    Bulk Memory Services: Copy Memory
  5732.  18h    Bulk Memory Services: Erase Memory
  5733.  19h    Resource Management: Request I/O
  5734.  1Ah    Resource Management: Release I/O
  5735.  1Bh    Resource Management: Request Memory
  5736.  1Ch    Client Services: Modify Window
  5737.  1Dh    Resource Management: Release Memory
  5738.  1Eh    Client Services: Map Mem Page
  5739.  1Fh    Advanced Client Utilities: Return SS Entry
  5740.  20h    Advanced Client Utilities: Map Log to Phy
  5741.  21h    Advanced Client Utilities: Map Log Phy to Log
  5742.  22h    Resource Management: Request IRQ
  5743.  23h    Resource Management: Release IRQ
  5744.  24h    Bulk Memory Services: Close Region
  5745. --------X-1A9E-------------------------------
  5746. INT 1A - PCMCIA Socket Services v2.1 - ACKNOWLEDGE INTERRUPT
  5747.     AH = 9Eh
  5748.     AL = adapter number
  5749. Return: CF clear if successful
  5750.         AH destroyed
  5751.         CX = bitmap representing sockets which have changed status
  5752.     CF set on error
  5753.         AH = error code (01h) (see #0573)
  5754. Note:    this API is supported by recent versions of the AMI BIOS
  5755. --------X-1A9F-------------------------------
  5756. INT 1A - PCMCIA Socket Services v2.1 - GET/SET PRIOR INT 1A HANDLER
  5757.     AH = 9Fh
  5758.     AL = adapter number
  5759.     BL = mode
  5760.         00h get prior INT 1Ah handler
  5761.         01h set prior INT 1Ah handler
  5762.         CX:DX -> new prior handler
  5763. Return: CF clear if successful
  5764.         AH destroyed
  5765.         CX:DX -> old prior handler
  5766.     CF set on error
  5767.         AH = error code (01h,15h,18h) (see #0573)
  5768. Desc:    allows hooking of INT 16h "behind" the Socket Services hook
  5769. Note:    this API is supported by recent versions of the AMI BIOS
  5770. SeeAlso: AH=9Eh,AH=A0h"PCMCIA",AH=AEh"PCMCIA"
  5771. --------c-1AA0-------------------------------
  5772. INT 1A U - Disk Spool II v2.07+ - INSTALLATION CHECK
  5773.     AH = A0h
  5774. Return: AH = B0h if installed
  5775.         AL = pending INT 1A/AH=D0h subfunction if nonzero???
  5776.         ES = code segment
  5777.         ES:BX -> name of current spool file
  5778.         ES:SI -> current despool file
  5779.         CL = despooler state (00h disabled, 41h enabled)
  5780.         CH = spooler state (00h disabled, 41h enabled)
  5781.         DL = despooler activity
  5782.         00h currently active printing a file
  5783.         41h standing by
  5784.         DH = 00h ???
  5785.            = 41h ???
  5786.         DI = 0000h ???
  5787.          0001h ???
  5788. Program: Disk Spool II is a shareware disk-based print spooler by Budget
  5789.       Software Company
  5790. Note:    this function is also supported by Vertisoft's Emulaser utility ELSPL,
  5791.       as that is a licensed version of Disk Spool II
  5792. SeeAlso: AH=ABh,AH=C0h,AH=D0h,AH=E1h
  5793. --------X-1AA0-------------------------------
  5794. INT 1A - PCMCIA Socket Services v2.1 - GET/SET SOCKET SERVICES ADDRESS
  5795.     AH = A0h
  5796.     AL = adapter number
  5797.     BH = mode
  5798.         00h real mode
  5799.         01h 16:16 protected mode
  5800.         02h 16:32 protected mode
  5801.         03h 00:32 (Flat) protected mode
  5802.     BL = subfunction
  5803.         00h return number of additional data areas (see #0610)
  5804.         01h return description of additional data areas (see #0611)
  5805.         02h accept mode-specific pointers to data areas (see #0612)
  5806.     ES:EDI -> buffer supplied by caller
  5807. Return: CF clear if successful
  5808.         AH destroyed
  5809.         CX = number of additional data areas
  5810.         ES:EDI unchanged
  5811.     CF set on error
  5812.         AH = error code (01h,02h,15h,16h,18h) (see #0573)
  5813. SeeAlso: AH=9Fh,AH=AEh
  5814.  
  5815. Format of PCMCIA Subfunction 00h Buffer Table Entry structure:
  5816. Offset    Size    Description    (Table 0610)
  5817.  00h    DWORD    32-bit linear base address of the code segment
  5818.  04h    DWORD    segment limit of the code segment
  5819.  08h    DWORD    entry point offset
  5820.  0Ch    DWORD    32-bit linear base address of the data segment
  5821.         (ignored in 00:32 flat mode)
  5822.  10h    DWORD    segment limit of the data segment
  5823.  14h    DWORD    data area offset.  Only used in 32-bit protected mode.
  5824. SeeAlso: #0611,#0612
  5825.  
  5826. Format of PCMCIA Additional Data Area Description structure [array]:
  5827. Offset    Size    Description    (Table 0611)
  5828.  00h    DWORD    32-bit linear base address of the additional data segment
  5829.         (ignored in 00:32 flat mode)
  5830.  04h    DWORD    segment limit of the code segment
  5831.  08h    DWORD    data area offset (only used in 32-bit protected mode)
  5832. SeeAlso: #0610,#0612
  5833.  
  5834. Format of PCMCIA Subfunction 02h Buffer Table Entry structure:
  5835. Offset    Size    Description    (Table 0612)
  5836.  00h    DWORD    32-bit offset(ignored in 16:16 protected mode)
  5837.  04h    DWORD    selector (only used in 00:32 flat mode)
  5838.  08h    DWORD    reserved
  5839. SeeAlso: #0610,#0611
  5840. --------X-1AA1-------------------------------
  5841. INT 1A - PCMCIA Socket Services v2.1 - GET ACCESS OFFSETS
  5842.     AH = A1h
  5843.     AL = adapter number
  5844.     BH = Mode
  5845.          00h = Real Mode
  5846.          01h = 16:16 Protected Mode
  5847.          02h = 16:32 Protected Mode
  5848.          03h = 00:32 Protected Mode
  5849.     CX = Number of access offsets
  5850.     ES:EDI -> buffer supplied by caller, CX words long (see #0613)
  5851. Return: CF clear if successful
  5852.         AH destroyed
  5853.         DX = number of access offsets supported
  5854.         ES:EDI unchanged
  5855.     CF set on error
  5856.         AH = error code (01h,15h,16h) (see #0573)
  5857. Desc:    Returns an array of low-level adapter-specific optimized
  5858.     PC Card access routines for adapters that use registers
  5859.     or I/O ports to access PC Card memory.    Adapters that access
  5860.     PC Card memory through windows mapped to host system memory
  5861.     do not support this function.
  5862. Note:    offsets returned are 16-bit offsets into the
  5863.     Socket Services code segment.  They must be called
  5864.     appropriately for the processor mode selected.
  5865.     (Real, 16:16 and 16:32 modes use FAR CALL,
  5866.     Flat 00:32 mode uses a 32-bit NEAR CALL).
  5867. SeeAlso: AH=AEh
  5868.  
  5869. Format of Offset Table structure:
  5870. Offset    Size    Description    (Table 0613)
  5871.  00h    WORD    Set Address
  5872.  02h    WORD    Set Auto Increment
  5873.  04h    WORD    Read Byte
  5874.  06h    WORD    Read Word
  5875.  08h    WORD    Read Byte with Auto Increment
  5876.  0Ah    WORD    Read Word with Auto Increment
  5877.  0Ch    WORD    Read Words
  5878.  0Eh    WORD    Read Words with Auto Increment
  5879.  10h    WORD    Write Byte
  5880.  12h    WORD    Write Word
  5881.  14h    WORD    Write Byte with Auto Increment
  5882.  16h    WORD    Write Word with Auto Increment
  5883.  18h    WORD    Write Words
  5884.  1Ah    WORD    Write Words with Auto Increment
  5885.  1Ch    WORD    Compare Byte
  5886.  1Eh    WORD    Compare Byte with Auto Increment
  5887.  20h    WORD    Compare Words
  5888.  22h    WORD    Compare Words with Auto Increment
  5889. --------X-1AA2-------------------------------
  5890. INT 1A - CardBus Socket Services - ACCESS CONFIGURATION SPACE
  5891.     AH = A2h
  5892.     ??? details not available
  5893. Return: ???
  5894. --------X-1AA4-------------------------------
  5895. INT 1A - CardBus Socket Services - GET BRIDGE WINDOW / WINDOW CAPABILITIES
  5896.     AH = A4h
  5897.     ??? details not available
  5898. Return: ???
  5899. SeeAlso: AH=A5h"CardBus"
  5900. --------X-1AA5-------------------------------
  5901. INT 1A - CardBus Socket Services - SET BRIDGE WINDOW
  5902.     AH = A5h
  5903.     ??? details not available
  5904. Return: ???
  5905. SeeAlso: AH=A4h"CardBus"
  5906. --------c-1AAB-------------------------------
  5907. INT 1A U - Disk Spool II v1.83 - INSTALLATION CHECK
  5908.     AH = ABh
  5909. Return: AH = BAh if installed
  5910.         AL = pending INT 1A/AH=ADh subfunction if nonzero???
  5911.         ES = code segment
  5912.         ES:BX -> name of current spool file
  5913.         ES:SI -> current despool file
  5914.         CL = despooler state (00h disabled, 41h enabled)
  5915.         CH = spooler state (00h disabled, 41h enabled)
  5916.         DL = despooler activity
  5917.         00h currently active printing a file
  5918.         41h standing by
  5919.         DH = 00h ???
  5920.            = 41h ???
  5921.         DI = 0000h ???
  5922.          0001h ???
  5923. Program: Disk Spool II is a shareware disk-based print spooler by Budget
  5924.       Software Company
  5925. SeeAlso: AH=A0h,AH=ACh,AH=ADh,AH=E1h
  5926. --------c-1AAC-------------------------------
  5927. INT 1A U - Disk Spool II v1.83 - INSTALLATION CHECK
  5928.     AH = ACh
  5929. Return: (see AH=ABh)
  5930. Note:    this function is identical to AH=ABh
  5931. SeeAlso: AH=A0h,AH=ABh,AH=ADh
  5932. --------c-1AAD-------------------------------
  5933. INT 1A U - Disk Spool II v1.83 - FUNCTION CALLS
  5934.     AH = ADh
  5935.     AL = function code (see #0614)
  5936. Return: AH = 00h if successful
  5937. SeeAlso: AH=ABh
  5938.  
  5939. (Table 0614)
  5940. Values for Disk Spool function code:
  5941.  02h    enable spooler only
  5942.  03h    enable the despooler
  5943.  04h    disable the despooler
  5944.  08h    inhibit popup menu
  5945.  09h    enable popup menu
  5946.  0Ah    ???
  5947.  0Bh    disable the spooler
  5948.  0Ch    start despooler after last successfully printed document???
  5949.  0Dh    start despooler at the exact point where it last left off???
  5950.  0Eh    pop up the menu
  5951.  0Fh    ???
  5952.  11h    ???
  5953.  14h    ???
  5954.  15h    ???
  5955.  16h    ???
  5956.  17h    ???
  5957.  18h    ???
  5958.  19h    ???
  5959.  20h    clear file pointed to by the despooler???
  5960.  21h    ???
  5961.  22h    ???
  5962.  23h    ???
  5963.  30h    ???
  5964. --------X-1AAE-------------------------------
  5965. INT 1A - PCMCIA Socket Services v2.1 - VENDOR SPECIFIC
  5966.     AH = AEh
  5967.     AL = adapter number
  5968.     all other registers are vendor-specific
  5969. Return: vendor specific
  5970. SeeAlso: AH=A1h,AH=AFh
  5971. --------X-1AAE-------------------------------
  5972. INT 1A - PCMCIA Socket Services v2.1 - API
  5973.     AH = AEh
  5974.     SI = function
  5975.         0002h ???
  5976.         0100h ???
  5977.         0101h ???
  5978.         8000h ???
  5979.         8001h ???
  5980.     details not yet available
  5981. Return: CF clear if successful
  5982.     CF set on error
  5983.         AH = error code (02h,0Bh,11h,15h,17h) (see #0573)
  5984. SeeAlso: AH=9Eh
  5985. --------X-1AAF-------------------------------
  5986. INT 1A - PCMCIA v2 Card Services - API
  5987.     AH = AFh
  5988.     AL = function
  5989.         00h close memory
  5990.         01h copy memory
  5991.         02h deregister client
  5992.         03h get client information (see #0619)
  5993.         04h get configuration information (see #0621)
  5994.         05h get first partition
  5995.         06h get first region
  5996.         07h get first tuple (see #0628)
  5997.         08h get next partition
  5998.         09h get next region
  5999.         0Ah get next tuple
  6000.         0Bh    get Card Services information (see #0617)
  6001.         0Ch get status
  6002.         0Dh    get tuple data (see #0629)
  6003.         0Eh    get first client (see #0618)
  6004.         0Fh get/register Erase Queue
  6005.         10h    register client (see #0630)
  6006.         11h reset function
  6007.         12h map logical socket
  6008.         13h map logical window
  6009.         14h map memory page
  6010.         15h map physical socket
  6011.         16h map physical window
  6012.         17h modify window
  6013.         18h open memory
  6014.         19h read memory
  6015.         1Ah register MTD
  6016.         1Bh release I/O
  6017.         1Ch release IRQ (see #0632)
  6018.         1Dh release window
  6019.         1Eh release configuration (see #0633)
  6020.         1Fh request I/O (see #0634)
  6021.         20h request IRQ (see #0635)
  6022.         21h reqeust window (see #0637)
  6023.         22h request socket mask
  6024.         23h return SS entry
  6025.         24h write memory
  6026.         25h deregister Erase Queue
  6027.         26h check Erase Queue
  6028.         27h modify configuration
  6029.         28h register timer
  6030.         29h set region
  6031.         2Ah get next client
  6032.         2Bh validate CIS
  6033.         2Ch request exclusive access (see #0640)
  6034.         2Dh release exclusive access (see #0640)
  6035.         2Eh get event mask
  6036.         2Fh release socket mask
  6037.         30h request configuration (see #0641)
  6038.         31h set event mask
  6039.         32h add Socket Service
  6040.         33h replace Socket Service
  6041.         34h vendor-specific
  6042.         35h adjust resource information
  6043.         36h access configuration register
  6044.         37h get first window
  6045.         38h get next window
  6046.         39h get memory page
  6047.         3Ah request DMA
  6048.         3Bh release DMA
  6049.     further details not yet available
  6050. Return: ??? = result code (see #0615)
  6051. SeeAlso: AH=AEh
  6052.  
  6053. (Table 0615)
  6054. Values for PCMCIA Card Services result codes:
  6055.  00h    successful
  6056.  01h    invalid adapter number
  6057.  02h    bad value for attribute field
  6058.  03h    bad value for base system memory address
  6059.  04h    invalid EDC generator specified
  6060.  05h    (reserved for historical reasons)
  6061.  06h    invalid IRQ level specified
  6062.  07h    invalid PC Card memory array offset
  6063.  08h    invalid page number specified
  6064.  09h    unable to complete read request
  6065.  0Ah    invalid size specified
  6066.  0Bh    invalid socket number
  6067.  0Ch    (reserved for historical reasons)
  6068.  0Dh    invalid window or interface type
  6069.  0Eh    invalid Vcc power level specified
  6070.  0Fh    invalid Vpp1 or Vpp2 power level specified
  6071.  10h    (reserved for historical reasons)
  6072.  11h    invalid window number
  6073.  12h    unable to complete write request
  6074.  13h    (reserved for historical reasons)
  6075.  14h    no PC Card in socket
  6076.  15h    service not supported by implementation
  6077.  16h    unsupported processor mode
  6078.  17h    specified speed not available
  6079.  18h    busy -- retry later
  6080.  19h    undefined error (general failure)
  6081.  1Ah    storage medium write protected
  6082.  1Bh    argument length in (E)CX is invalid
  6083.  1Ch    bad value(s) in argument packet
  6084.  1Dh    configuration has already been locked
  6085.  1Eh    requested resource already in use
  6086.  1Fh    no more items of requested type available
  6087.  20h    out of resources
  6088.  21h    invalid client handle
  6089.  22h    unsupported client version
  6090.  
  6091. (Table 0616)
  6092. Values for Card Services Callback Event codes:
  6093.  01h    battery dead
  6094.  02h    battery low
  6095.  03h    card locked
  6096.  04h    card has become ready
  6097.  05h    card removed
  6098.  06h    card unlocked
  6099.  07h    motorized ejection complete
  6100.  08h    ejection requested
  6101.  09h    insertion complete
  6102.  0Ah    insertion requested
  6103.  0Bh    power management: resume
  6104.  0Ch    power management: suspend
  6105.  0Dh    exclusive access granted
  6106.  0Eh    exclusive access requested
  6107.  0Fh    perform physical reset
  6108.  10h    physical reset requested
  6109.  11h    card has been reset
  6110.  12h    MTD request (read/write/etc)
  6111.  14h    request for client info
  6112.  15h    timer has expired
  6113.  16h    Socket Service was modified
  6114.  17h    write-protected
  6115.  18h    attention requested
  6116.  40h    card insertion
  6117.  80h    reset complete
  6118.  81h    erase complete
  6119.  82h    registration complete
  6120.  
  6121. Format of Card Services Information:
  6122. Offset    Size    Description    (Table 0617)
  6123.  00h    WORD    length of information record in bytes
  6124.  02h    WORD    signature
  6125.  04h    WORD    number of sockets
  6126.  06h    WORD    revision level
  6127.  08h    WORD    Card Services level
  6128.  0Ah    WORD    offset of vendor string
  6129.  0Ch    WORD    length of vendor string
  6130.  0Eh    WORD    number of functions
  6131.  10h 255 BYTEs    vendor string
  6132. SeeAlso: #0619
  6133.  
  6134. Format of Card Services Client structure:
  6135. Offset    Size    Description    (Table 0618)
  6136.  00h    WORD    PCMCIA socket number
  6137.  02h    WORD    client attributes
  6138.  
  6139. Format of Cards Services Client Information:
  6140. Offset    Size    Description    (Table 0619)
  6141.  00h    WORD    maximum length of data in bytes (180)
  6142.  02h    WORD    (ret) length of returned data
  6143.  04h    WORD    attributes (see #0620)
  6144.  06h    WORD    revision level (BCD)
  6145.  08h    WORD    Card Services level (BCD)
  6146.  0Ah    WORD    revision date (DOS packed date format) (see #1318)
  6147.  0Ch    WORD    offset to name
  6148.  0Eh    WORD    length of name
  6149.  10h    WORD    offset to vendor string
  6150.  12h    WORD    length of vendor string
  6151.  14h 80 BYTEs    buffer for name
  6152.  64h 80 BYTEs    buffer for vendor string
  6153. SeeAlso: #0617,#0621
  6154.  
  6155. Bitfields for Card Services client attributes:
  6156. Bit(s)    Description    (Table 0620)
  6157.  0    memory client
  6158.  1    MTD client
  6159.  2    I/O client
  6160.  3    all clients can share this card
  6161.  4    only one client can use this card at a time
  6162. SeeAlso: #0619
  6163.  
  6164. Format of Card Services configuration information:
  6165. Offset    Size    Description    (Table 0621)
  6166.  00h    WORD    socket (usually 0000h)
  6167.  02h    WORD    attributes (see #0622)
  6168.  04h    BYTE    Vcc value
  6169.  05h    BYTE    Vpp1 value
  6170.  06h    BYTE    Vpp2 value
  6171.  07h    BYTE    interface type (see #0623)
  6172.  08h    DWORD    base address of configuration registers
  6173.  0Ch    BYTE    card's Status register setting (if present)
  6174.  0Dh    BYTE    card's Pin register setting (if present)
  6175.  0Eh    BYTE    card's Socket/Copy register setting (if present)
  6176.  0Fh    BYTE    card's Option register setting (if present)
  6177.  10h    BYTE    bitmap of present card configuration registers
  6178.  11h    BYTE    first device type
  6179.  12h    BYTE    function code
  6180.  13h    BYTE    SysInit mask
  6181.  14h    WORD    manufacturer code
  6182.  16h    WORD    manufacturer information
  6183.  18h    BYTE    valie card register values
  6184.  19h    BYTE    IRQ number assigned to PC Card
  6185.  1Ah    WORD    IRQ attributes (see #0625)
  6186.  1Ch    WORD    base port address (for I/O range 1)
  6187.  1Eh    BYTE    number of contiguous ports (for I/O range 1)
  6188.  1Fh    BYTE    bitmap of port attributes (for I/O range 1) (see #0626)
  6189.  20h    WORD    base port address (for I/O range 2)
  6190.  22h    BYTE    number of contiguous ports (for I/O range 2)
  6191.  23h    BYTE    bitmap of port attributes (for I/O range 2) (see #0626)
  6192.  24h    BYTE    number of I/O address lines decoded (16-bit PC Card only)
  6193.  25h    BYTE    extended status register setting (if present)
  6194.  26h    BYTE    bitmap of DMA attributes (see #0627)
  6195.         (note: value at call is used to set!)
  6196.  27h    BYTE    assigned DMA channel
  6197.  28h    BYTE    number of I/O windows in use on logical socket
  6198.  29h    BYTE    number of memory windows in use on logical socket
  6199. SeeAlso: #0620,#0641
  6200.  
  6201. Bitfields for Card Services Configuration attributes:
  6202. Bit(s)    Description    (Table 0622)
  6203.  0    exclusive
  6204.  1    IRQ active
  6205.  2    CardBus card
  6206.  3-5    reserved (0)
  6207.  6    DMA channel is active
  6208.  7    reserved (0)
  6209.  8    valid client
  6210.  9    overwrite voltage value
  6211.  10-15    reserved (0)
  6212. SeeAlso: #0621
  6213.  
  6214. Bitfields for Card Services Configuration interface type:
  6215. Bit(s)    Description    (Table 0623)
  6216.  0    memory interface
  6217.  1    I/O and memory interface
  6218.  2    CardBus interface
  6219.  3-7    reserved (0)
  6220. SeeAlso: #0621
  6221.  
  6222. Bitfields for Card Services Configuration registers:
  6223. Bit(s)    Description    (Table 0624)
  6224.  0    option value is value
  6225.  1    status value
  6226.  2    pin-replacement value
  6227.  3    copy value
  6228.  4    extended status value
  6229.  5-7    reserved (0)
  6230. SeeAlso: #0621
  6231.  
  6232. Bitfields for Card Services Configuration IRQ attributes:
  6233. Bit(s)    Description    (Table 0625)
  6234.  1-0    sharing
  6235.     00 no sharing
  6236.     01 time-multiplex sharing
  6237.     10 dynamic sharing
  6238.     11 reserved
  6239.  2    force pulse mode
  6240.  3    first used together
  6241.  4-7    reserved
  6242.  8    pulse IRQ has been assigned
  6243.  9-15    reserved
  6244. SeeAlso: #0621,#0626,#0627,#0632,#0635
  6245.  
  6246. Bitfields for Card Services Configuration Port attributes:
  6247. Bit(s)    Description    (Table 0626)
  6248.  0    shared I/O ports
  6249.  1    "CS_FirstCommonUsedCard"
  6250.  2    force alias access
  6251.  3    =1 sixteen-bit I/O
  6252.     =0 eight-bit I/O
  6253.  7-4    reserved (0)
  6254. SeeAlso: #0621,#0625,#0627,#0634
  6255.  
  6256. Bitfields for Card Services Configuration DMA attributes:
  6257. Bit(s)    Description    (Table 0627)
  6258.  1-0    sharing mode
  6259.     00 no sharing
  6260.     01 time-multiplex sharing
  6261.     10 dynamic sharing
  6262.     11 reserved
  6263.  3-2    DMA request signal
  6264.     00 reserved
  6265.     01 DMARQ uses pin SPKR#
  6266.     10 DMARQ uses pin IOIS16#
  6267.     11 DMARQ uses pin INPACK#
  6268.  4    DMA size
  6269.     0 eight bits
  6270.     1 sixteen bits
  6271.  7-5    reserved (0)
  6272. SeeAlso: #0621,#0625,#0626
  6273.  
  6274. Format of Card Services Tuple information:
  6275. Offset    Size    Description    (Table 0628)
  6276.  00h    WORD    logical socket number
  6277.  02h    WORD    attributes
  6278.         bit 0: return Link tuples
  6279.  04h    BYTE    code value of desired tuple
  6280.  05h    BYTE    reserved (0)
  6281.  06h    WORD    (ret) TupleFlags
  6282.  08h    DWORD    (ret) -> Card Services Link State Information
  6283.  0Ch    DWORD    (ret) -> Card Services CIS State Information
  6284.  10h    BYTE    (ret) code for tuple
  6285.  11h    BYTE    (ret) link value for tuple
  6286. SeeAlso: #0629
  6287.  
  6288. Format of Card Services GetTupleData record:
  6289. Offset    Size    Description    (Table 0629)
  6290.  00h    WORD    logical socket
  6291.  02h    WORD    attributes
  6292.  04h    BYTE    code value of desired tuple
  6293.  05h    BYTE    offset into tuple from link byte
  6294.  06h    WORD    flags
  6295.  08h    DWORD    -> Link
  6296.  0Ch    DWORD    -> CIS
  6297.  10h    WORD    (call) maximum amount of data to return (0004h)
  6298.  12h    WORD    (ret) amount of data returned
  6299.  14h    DWORD    (ret) tuple data
  6300. SeeAlso: #0628
  6301.  
  6302. Format of Card Services Client Registration record:
  6303. Offset    Size    Description    (Table 0630)
  6304.  00h    WORD    attributes
  6305.  02h    WORD    event mask
  6306.  04h    WORD    client data (passed to client event handler in DI)
  6307. --- 16-bit code ---
  6308.  06h    WORD    client data selector (passed to event handler in DS)
  6309.  08h    WORD    client data offset (passed to event handler in SI)
  6310.  0Ah    WORD    reserved
  6311. --- 32-bit code ---
  6312.  06h    WORD    reserved
  6313.  08h    DWORD    client data offset (passed to event handler in ESI)
  6314. ------
  6315.  0Ch    WORD    expected Card Services version (0210h for v2.10)
  6316.  
  6317. Bitfields for Card Services client event codes:
  6318. Bit(s)    Description    (Table 0631)
  6319.  0    change in write-protect status
  6320.  1    change in card lock
  6321.  2    ejection request
  6322.  3    insertion request
  6323.  4    battery is dead
  6324.  5    battery low
  6325.  6    change in Ready
  6326.  7    change in Card Detect
  6327.  8    power management change
  6328.  9    reset
  6329.  10    Socket Services updated
  6330.  11    extended status change
  6331. SeeAlso: #0630
  6332.  
  6333. Format of Card Services ReleaseIRQ record:
  6334. Offset    Size    Description    (Table 0632)
  6335.  00h    WORD    logical socket number
  6336.  02h    WORD    attributes (see #0625)
  6337.  04h    BYTE    assigned IRQ number to be released
  6338.  
  6339. Format of Card Services Release Configuration record:
  6340. Offset    Size    Description    (Table 0633)
  6341.  00h    WORD    logical socket number
  6342.  
  6343. Format of Card Services Request I/O record:
  6344. Offset    Size    Description    (Table 0634)
  6345.  00h    WORD    logical socket number
  6346.  02h    WORD    base port 1
  6347.  04h    BYTE    size of port range 1
  6348.  05h    BYTE    attributes for port range 1 (see #0626)
  6349.  06h    WORD    base port 2
  6350.  08h    BYTE    size of port range 2
  6351.  09h    BYTE    attributes for port range 2 (see #0626)
  6352.  0Ah    BYTE    number of address lines (typically 16)
  6353. SeeAlso: #0635,#0633
  6354.  
  6355. Format of Card Services Request IRQ record:
  6356. Offset    Size    Description    (Table 0635)
  6357.  00h    WORD    logical socket number
  6358.  02h    WORD    attributes (see #0625)
  6359.  04h    BYTE    (ret) assigned IRQ number, if successful
  6360.  05h    BYTE    IRQ info (see #0636)
  6361.  06h    WORD    bitmap of available IRQs (bit 0 = IRQ0, etc.)
  6362.         (only if bit 4 of IRQ info set)
  6363. SeeAlso: #0634,#0633
  6364.  
  6365. Bitfields for Card Services Request IRQ info flags:
  6366. Bit(s)    Description    (Table 0636)
  6367.  7    IRQ is shared
  6368.  6    pulse (edge-triggered) interrupt
  6369.  5    level interrupt
  6370.  4    use IRQ bitmap
  6371. --- bit 4 set ---
  6372.  3    vendor-specific interrupt
  6373.  2    bus error
  6374.  1    I/O check interrupt
  6375.  0    NMI
  6376. --- bit 4 clear ---
  6377.  3-0    IRQ number
  6378. SeeAlso: #0635
  6379.  
  6380. Format of Card Services Request Window record:
  6381. Offset    Size    Description    (Table 0637)
  6382.  00h    WORD    logical socket number
  6383.  02h    WORD    attributes (see #0638)
  6384.  04h    DWORD    system base adress
  6385.  08h    DWORD    size of memory window
  6386.  0Ch    BYTE    additional info
  6387.         if attributes bit ??? is set, this is the address-lines field
  6388.         otherwise, this is the access-speed field (see #0639)
  6389.  
  6390. Bitfields for Card Services Request Window attributes:
  6391. Bit(s)    Description    (Table 0638)
  6392.  0    I/O window instead of memory window
  6393.  1    attribute memory instead of normal memory (16-bit PC Cards only)
  6394.  2    window enabled
  6395.  3    16-bit data path instead of 8-bit path (16-bit PC Cards only, v2.10+)
  6396.     (ignored if bit 9 set)
  6397.  4    size is given in 16K pages (invalid for CardBus PC Cards)
  6398.  5    shared (invalid for CardBus)
  6399.  6    first shared (invalid for CardBus)
  6400.  7    "CS_BindingSpecific" (memory window only)
  6401.  8    card offsets are window-size granular (16-bit PC Card memory window)
  6402.  9    32-bit data path (CardBus only)
  6403.  10    reserved (0)
  6404.  12-11    prefetch/cache
  6405.     00 neither prefetchable nor cacheable
  6406.     01 prefetchable but not cacheable
  6407.     10 prefetchable and cachable
  6408.     11 reserved
  6409.  15-13    decoded base address register number (CardBus only)
  6410. SeeAlso: #0637,#0639
  6411.  
  6412. Bitfields for Card Services Request Window access-speed:
  6413. Bit(s)    Description    (Table 0639)
  6414.  6-3    mantissa
  6415.     0000 use device speed code
  6416.     0001  1.0
  6417.     0010  1.2
  6418.     0011  1.2 ???
  6419.     0100  1.5
  6420.     0101  2.0
  6421.     0110  2.5
  6422.     0111  3.0
  6423.     1000  3.5
  6424.     1001  4.0
  6425.     1010  4.5
  6426.     1011  5.0
  6427.     1100  5.5
  6428.     1101  6.0
  6429.     1110  7.0
  6430.     1111  8.0
  6431. --- if mantissa==0 ---
  6432.  2-0    device speed code
  6433.     000 reserved
  6434.     001 250 ns
  6435.     010 200 ns
  6436.     011 150 ns
  6437.     100 100 ns
  6438.     101-111 reserved
  6439. --- if mantissa<>0 ---
  6440.  2-0    speed exponent
  6441.     000    1 ns
  6442.     001    10 ns
  6443.     010   100 ns
  6444.     011    1 us
  6445.     100    10 us
  6446.     101   100 us
  6447.     110    1 ms
  6448.     111    10 ms
  6449. SeeAlso: #0637,#0638
  6450.  
  6451. Format of Card Services Request/Release Exclusive Access record:
  6452. Offset    Size    Description    (Table 0640)
  6453.  00h    WORD    logical socket number
  6454.  02h    WORD    attributes (currently all reserved, must be 0000h)
  6455.  
  6456. Format of Card Services Request Configuration record:
  6457. Offset    Size    Description    (Table 0641)
  6458.  00h    WORD    socket (usually 0000h)
  6459.  02h    WORD    attributes (see #0622)
  6460.  04h    BYTE    Vcc value
  6461.  05h    BYTE    Vpp1 value
  6462.  06h    BYTE    Vpp2 value
  6463.  07h    BYTE    interface type (see #0623)
  6464.  08h    DWORD    base address of configuration registers
  6465.  0Ch    BYTE    card's Status register setting (if present)
  6466.  0Dh    BYTE    card's Pin register setting (if present)
  6467.  0Eh    BYTE    card's Socket/Copy register setting (if present)
  6468.  0Fh    BYTE    card's Option register setting (if present)
  6469.  10h    BYTE    bitmap of present card configuration registers
  6470.  11h    BYTE    extended status register setting (if present)
  6471. SeeAlso: #0621
  6472. --------X-1AB000-----------------------------
  6473. INT 1A U - HP 100LX/200LX - PCMCIA - ???
  6474.     AX = B000h
  6475.     ES:BX -> parameter block ???
  6476. Return: CF clear if ???
  6477.     CF set if ???
  6478. Note:    called by HP 100LX/200LX PCMCIA client CIC100.EXE
  6479. --------d-1AB001CX4D52-----------------------
  6480. INT 1A - Microsoft Real-Time Compression Interface (MRCI) - ROM-BASED SERVER
  6481.     AX = B001h
  6482.     CX = 4D52h ("MR")
  6483.     DX = 4349h ("CI")
  6484. Return: CX = 4943h ("IC") if installed
  6485.     DX = 524Dh ("RM") if installed
  6486.         ES:DI -> MRCINFO structure (see #0642)
  6487. Note:    this call is functionally identical to INT 2F/AX=4A12h, which should
  6488.       be called first, as this call is used for the first, ROM-based
  6489.       MRCI server, while the other call is used for RAM-based servers
  6490.       which may be partially or entirely replacing a prior server
  6491. SeeAlso: INT 2F/AX=4A12h
  6492.  
  6493. Format of MRCINFO structure:
  6494. Offset    Size    Description    (Table 0642)
  6495.  00h  4 BYTEs    vendor signature
  6496.         "MSFT" Microsoft
  6497.  04h    WORD    server version (high=major)
  6498.  06h    WORD    MRCI specification version
  6499.  08h    DWORD    address of server entry point (see #0644)
  6500.  0Ch    WORD    bit flags: server capabilities (see #0643)
  6501.  0Eh    WORD    bit flags: hardware assisted capabilities (see #0643)
  6502.  10h    WORD    maximum block size supported by server (at least 8192 bytes)
  6503.  
  6504. Bitfields for MRCI capabilities:
  6505. Bit(s)    Description    (Table 0643)
  6506.  0    standard compress
  6507.  1    standard decompress
  6508.  2    update compress
  6509.  3    MaxCompress (not present in initial public release)
  6510.  4    reserved
  6511.  5    incremental decompress
  6512.  6    MRCI 2.0 standard compress
  6513.  7    MRCI 2.0 standard decompress
  6514.  8-14    reserved
  6515.  15    this structure is in ROM and can't be modified
  6516.     (server capabilities only)
  6517.  
  6518. (Table 0644)
  6519. Call MRCI entry point with:
  6520.     DS:SI -> MRCREQUEST structure (see #0645)
  6521.     CX = type of client (0000h application, 0001h file system)
  6522.     AX = operation
  6523.         0001h perform standard compression
  6524.         0002h perform standard decompression
  6525.         0004h perform update compression
  6526.         0008h perform MaxCompress
  6527.         0020h perform incremental decompression
  6528.         0040h perform MRCI 2.0 standard compression
  6529.         0080h perform MRCI 2.0 standard decompression
  6530.     AX = FFFFh clear flags
  6531.         BX = bitmask of flags to clear (set bits in BX are flags to clear)
  6532. Return: AX = status
  6533.         0000h successful
  6534.         0001h invalid function
  6535.         0002h server busy, try again
  6536.         0003h destination buffer too small
  6537.         0004h incompressible data
  6538.         0005h bad compressed data format
  6539.     BP destroyed (MS-DOS 6.2)
  6540. Note:    MRCI driver may chain to a previous driver
  6541.  
  6542. Format of MRCREQUEST structure:
  6543. Offset    Size    Description    (Table 0645)
  6544.  00h    DWORD    pointer to source buffer
  6545.  04h    WORD    size of source buffer (0000h = 64K)
  6546.  06h    WORD    (UpdateCompress only)
  6547.         (call) offset in source buffer of beginning of changed data
  6548.         (ret) offset in destination buffer of beginning of changed
  6549.               compressed data
  6550.  08h    DWORD    pointer to destination buffer
  6551.         must contain original compressed data for UpdateCompress
  6552.  0Ch    WORD    size of destination buffer (0000h = 64K)
  6553.         any compression: size of buffer for compressed data
  6554.         standard decompression: number of bytes to be decompressed
  6555.         incremental decompression: number of byte to decompress now
  6556.         (ret) actual size of resulting data
  6557.  0Eh    WORD    client compressed data storage allocation size
  6558.  10h    DWORD    incremental decompression state data
  6559.         set to 00000000h before first incremental decompression call
  6560. Notes:    the source and destination buffers may not overlap
  6561.     the source and destination buffer sizes should normally be the same
  6562.     application should not update the contents of the MRCREQUEST structure
  6563.       between incremental decompression calls
  6564. --------X-1AB101-----------------------------
  6565. INT 1A - Intel PCI BIOS v2.0c+ - INSTALLATION CHECK
  6566.     AX = B101h
  6567.     EDI = 00000000h
  6568. Return: AH = 00h if installed
  6569.         CF clear
  6570.         EDX = 20494350h (' ICP')
  6571.         EDI = physical address of protected-mode entry point (see #0648)
  6572.         AL = PCI hardware characteristics (see #0647)
  6573.         BH = PCI interface level major version (BCD)
  6574.         BL = PCI interface level minor version (BCD)
  6575.         CL = number of last PCI bus in system
  6576.     EAX, EBX, ECX, and EDX may be modified
  6577.     all other flags (except IF) may be modified
  6578. Notes:    this function may require up to 1024 byte of stack; it will not enable
  6579.       interrupts if they were disabled before making the call
  6580.     some BIOSes do not change EDI, so applications looking for the
  6581.       protected-mode entry point should set EDI to 00000000h before
  6582.       calling this function
  6583. SeeAlso: AX=B181h
  6584.  
  6585. (Table 0646)
  6586. Values for PCI BIOS v2.0c+ status codes:
  6587.  00h    successful
  6588.  81h    unsupported function
  6589.  83h    bad vendor ID
  6590.  86h    device not found
  6591.  87h    bad PCI register number
  6592.  
  6593. Bitfields for PCI hardware characteristics:
  6594. Bit(s)    Description    (Table 0647)
  6595.  0    configuration space access mechanism 1 supported
  6596.  1    configuration space access mechanism 2 supported
  6597.  2-3    reserved
  6598.  4    Special Cycle generation mechanism 1 supported
  6599.  5    Special Cycle generation mechanism 2 supported
  6600.  6-7    reserved
  6601.  
  6602. (Table 0648)
  6603. Call protected-mode entry point with:
  6604.     registers as for real/V86-mode INT call
  6605.     CS = ring 0 descriptor with access to full address space
  6606. Return: as for real/V86-mode call
  6607. --------X-1AB102-----------------------------
  6608. INT 1A - Intel PCI BIOS v2.0c+ - FIND PCI DEVICE
  6609.     AX = B102h
  6610.     CX = device ID (see #0652,#0658,#0659,#0785,#0787)
  6611.     DX = vendor ID (see #0649)
  6612.     SI = device index (0-n)
  6613. Return: CF clear if successful
  6614.     CF set on error
  6615.     AH = status (00h,83h,86h) (see #0646)
  6616.         00h successful
  6617.         BH = bus number
  6618.         BL = device/function number (bits 7-3 device, bits 2-0 func)
  6619.     EAX, EBX, ECX, and EDX may be modified
  6620.     all other flags (except IF) may be modified
  6621. Notes:    this function may require up to 1024 byte of stack; it will not enable
  6622.       interrupts if they were disabled before making the call
  6623.     device ID FFFFh may be reserved as a wildcard in future implementations
  6624.     the meanings of BL and BH on return were exchanged between the initial
  6625.       drafts of the specification and final implementation
  6626.     all devices sharing a single vendor ID and device ID may be enumerated
  6627.       by incrementing SI from 0 until error 86h is returned
  6628. SeeAlso: AX=B182h
  6629.  
  6630. (Table 0649)
  6631. Values for PCI vendor ID:
  6632.  003Dh    Martin-Marietta Corporation
  6633.  0E11h    Compaq (see #0650)
  6634.  1000h    Symbios Logic Inc (formerly NCR) (see #0651)
  6635.  1002h    ATI (see #0652)
  6636.  1003h    ULSI Systems
  6637.  1004h    VLSI Technologies (see #0653)
  6638.  1005h    Avance Logics (ADL) (see #0654)
  6639.  1006h    Reply Group
  6640.  1007h    Netframe Systems Inc.
  6641.  1008h    Epson
  6642.  100Ah    Phoenix Technologies
  6643.  100Bh    National Semiconductor (see #0655)
  6644.  100Ch    Tseng Labs (see #0656) (also ID 10BEh)
  6645.  100Dh    AST Research
  6646.  100Eh    Weitek (see #0657)
  6647.  1010h    Video Logic Ltd
  6648.  1011h    DEC (see #0658)
  6649.  1012h    Micronics Computers
  6650.  1013h    Cirrus Logic (see #0659,#0028)
  6651.  1014h    IBM (see #0660)
  6652.  1015h    LSI Logic Corp. of Canada
  6653.  1016h    ICL Personal Systems
  6654.  1017h    SPEA Software AG
  6655.  1018h    Unisys
  6656.  1019h    EliteGroup Computer Sys
  6657.  101Ah    NCR/AT&T GIS
  6658.  101Bh    Vitesse Semiconductor
  6659.  101Ch    Western Digital (see #0661)
  6660.  101Eh    AMI (see #0662)
  6661.  101Fh    Picturetel
  6662.  1020h    Hitachi Computer Electronics
  6663.  1021h    Oki Electric Industry
  6664.  1022h    Advanced Micro Devices (see #0663)
  6665.  1023h    Trident Microsystems (see #0664)
  6666.  1024h    Zenith Data Systems
  6667.  1025h    Acer
  6668.  1028h    Dell Computer Corporation
  6669.  1029h    Siemens Nixdorf
  6670.  102Ah    LSI Logic, Headland Division (see #0665)
  6671.  102Bh    Matrox (see #0666)
  6672.  102Ch    Chips & Technologies (see #0667)
  6673.  102Dh    Wyse Technologies
  6674.  102Eh    Olivetti Advanced Technology
  6675.  102Fh    Toshiba America (see #0668)
  6676.  1030h    TMC Research
  6677.  1031h    Miro / Micro Computer Products AG (see #0669)
  6678.  1032h    Compaq
  6679.  1033h    NEC Corporation (see #0670)
  6680.  1034h    Burndy Corporation
  6681.  1035h    Computers and Communications Research Lab
  6682.  1036h    Future Domain (see #0671)
  6683.  1037h    Hitachi Micro Systems
  6684.  1038h    AMP Incorporated
  6685.  1039h    Silicon Integrated System (SIS) (see #0672)
  6686.  103Ah    Seiko Epson Corporation
  6687.  103Bh    Tatung Corp. of America
  6688.  103Ch    Hewlett-Packard (see #0673)
  6689.  103Eh    Solliday
  6690.  103Fh    Logic Modeling
  6691.  1040h    Kubota Pacific
  6692.  1041h    Computrend
  6693.  1042h    PC Technology (see #0674,#0890) (see also PORT 03F0h"PCTech")
  6694.  1043h    Asustek
  6695.  1044h    Distributed Processing Technology (DPT) (see #0675)
  6696.  1045h    OPTi (see #0676)
  6697.  1046h    IPC Corporation, Ltd.
  6698.  1047h    Genoa Systems Corp.
  6699.  1048h    Elsa GmbH
  6700.  1049h    Fountain Technology
  6701.  104Ah    SGS Thomson Microelectric (see #0677)
  6702.  104Bh    BusLogic (see #0678)
  6703.  104Ch    Texas Instruments (see #0679)
  6704.  104Dh    Sony Corporation
  6705.  104Eh    Oak Technology (see #0680)
  6706.  104Fh    Co-Time Computer Ltd.
  6707.  1050h    Winbond (see #0681)
  6708.  1051h    Anigma Corp.
  6709.  1052h    Young Micro Systems
  6710.  1054h    Hitachi, Ltd. (see #0682)
  6711.  1055h    EFAR Microsystems (see #0683)
  6712.  1056h    ICL
  6713.  1057h    Motorola (see #0684)
  6714.  1058h    Electronics and Telecommunications Research
  6715.  1059h    Teknor Microsystems
  6716.  105Ah    Promise Technology (see #0685)
  6717.  105Bh    Foxconn International
  6718.  105Ch    Wipro Infotech Ltd.
  6719.  105Dh    Number 9 Computer Company (see #0686)
  6720.  105Eh    VTech Engineering Canada, Ltd.
  6721.  105Fh    Infotronic America, Inc.
  6722.  1060h    United Microelectronics (UMC) (see #0687)
  6723.  1061h    8x8 (X Tech) (see #0688)
  6724.  1062h    Maspar Computer Copr.
  6725.  1063h    Ocean Office Automation
  6726.  1064h    Alcatel Cit
  6727.  1065h    Texas Microsystems
  6728.  1066h    PicoPower Technology (see #0689)
  6729.  1067h    Mitsubishi Electronics
  6730.  1068h    Diversified Technology
  6731.  1069h    Mylex Corporation (see #0690)
  6732.  106Ah    Aten Research
  6733.  106Bh    Apple Computer
  6734.  106Ch    Hyundai Electronics America
  6735.  106Dh    Sequent
  6736.  106Eh    DFI Inc.
  6737.  106Fh    City Gate Development, Ltd.
  6738.  1070h    Daewoo Telecom Ltd.
  6739.  1071h    Mitac
  6740.  1072h    GIT Co., Ltd.
  6741.  1073h    Yamaha Corporation (see #0691)
  6742.  1074h    NexGen Microsystems (see #0692)
  6743.  1075h    Advanced Integration Research
  6744.  1076h    Chaintech Computer Co. Ltd.
  6745.  1077h    Q Logic (see #0693)
  6746.  1078h    Cyrix Corporation
  6747.  1079h    I-Bus
  6748.  107Ah    Networth
  6749.  107Bh    Gateway 2000
  6750.  107Ch    Goldstar Co. Ltd.
  6751.  107Dh    Leadtek Research (see #0694)
  6752.  107Eh    Interphase Corporation (see #0695)
  6753.  107Fh    Data Technology Corporation (DTC) (see #0696)
  6754.  1080h    Contaq Microsystems (see #0697)
  6755.  1081h    Supermac Technology
  6756.  1082h    EFA Corporation of America
  6757.  1083h    Forex Computer Corporation (see #0698)
  6758.  1084h    Parador
  6759.  1085h    Tulip Computers Int'l BV
  6760.  1086h    J. Bond Computer Systems
  6761.  1087h    Cache Computer
  6762.  1088h    Microcomputer Systems (M) Son
  6763.  1089h    Data General Corporation
  6764.  108Ah    Bit3 Computer (see #0699)
  6765.  108Ch    Elonex PLC (Oakleigh Systems, Inc)
  6766.  108Dh    Olicom (see #0700)
  6767.  108Eh    Sun Microsystems
  6768.  108Fh    Systemsoft Corporation
  6769.  1090h    Encore Computer Corporation
  6770.  1091h    Intergraph Corporation (see #0701)
  6771.  1092h    Diamond Computer Systems
  6772.  1093h    National Instruments (see #0702)
  6773.  1094h    First International Computers (FIC)
  6774.  1095h    CMD Technology, Inc. (see #0703)
  6775.  1096h    Alacron
  6776.  1097h    Appian Technology (see #0704)
  6777.  1098h    Vision / Quantum Designs Ltd (see #0705)
  6778.  1099h    Samsung Electronics Co. Ltd.
  6779.  109Ah    Packard Bell
  6780.  109Bh    Gemlight Computer Ltd.
  6781.  109Ch    Megachips Corporation
  6782.  109Dh    Zida Technologies
  6783.  109Eh    Brooktree Corporation (see #0706)
  6784.  109Fh    Trigem Computer Inc.
  6785.  10A0h    Meidensha Corporation
  6786.  10A1h    Juko Electronics Inc. Ltd.
  6787.  10A2h    Quantum Corporation
  6788.  10A3h    Everex Systems Inc.
  6789.  10A4h    Globe Manufacturing Sales
  6790.  10A5h    Racal Interlan
  6791.  10A6h    Informtech Industrial Ltd.
  6792.  10A7h    Benchmarq Microelectronics
  6793.  10A8h    Sierra Semiconductor (see #0707)
  6794.  10A9h    Silicon Graphics
  6795.  10AAh    ACC Microelectronics (see #0708)
  6796.  10ABh    Digicom
  6797.  10ACh    Honeywell IASD
  6798.  10ADh    Symphony Labs (see #0709)
  6799.  10AEh    Cornerstone Technology
  6800.  10AFh    Microcomputer Systems
  6801.  10B0h    CardExpert Technology
  6802.  10B1h    Cabletron Systems, Inc.
  6803.  10B2h    Raytheon Company
  6804.  10B3h    Databook Inc
  6805.  10B4h    STB Systems
  6806.  10B5h    PLX Technology (see #0710)
  6807.  10B6h    Madge Networks (see #0711)
  6808.  10B7h    3com Corporation (see #0712)
  6809.  10B8h    Standard Microsystems Corporation (SMC) (see #0713)
  6810.  10B9h    Acer Labs Inc. (see #0714)
  6811.  10BAh    Mitsubishi Electronics Corp.
  6812.  10BBh    Dapha Electronics Corporation
  6813.  10BCh    Advanced Logic Research Inc. (ALR)
  6814.  10BDh    Surecom Technology (see #0715)
  6815.  10BEh    Tseng Labs International Corp. (see #0656)
  6816.  10BFh    Most Inc.
  6817.  10C0h    Boca Research Inc.
  6818.  10C1h    ICM Corp. Ltd.
  6819.  10C2h    Auspex Systems Inc.
  6820.  10C3h    Samsung Semiconductors
  6821.  10C4h    Award Software International Inc.
  6822.  10C5h    Xerox Corporation
  6823.  10C6h    Rambus Inc.
  6824.  10C7h    Media Vision
  6825.  10C8h    Neomagic Corporation (see #0716)
  6826.  10C9h    DataExpert Corporation
  6827.  10CAh    Fujitsu
  6828.  10CBh    Omron Corporation
  6829.  10CCh    Mentor Arc Inc.
  6830.  10CDh    Advanced System Products (see #0717)
  6831.  10CEh    Radius Inc.
  6832.  10CFh    Citicorp TTI (see #0718)
  6833.  10D0h    Fujitsu Limited
  6834.  10D1h    Future+ Systems
  6835.  10D2h    Molex Incorporated
  6836.  10D3h    Jabil Circuit Inc.
  6837.  10D4h    Hualon Microelectronics
  6838.  10D5h    Autologic Inc.
  6839.  10D6h    Cetia
  6840.  10D7h    BCM Advanced Research
  6841.  10D8h    Advanced Peripherals Labs
  6842.  10D9h    Macronix International Co. Ltd
  6843.  10DAh    Thomas-Conrad Corporation
  6844.  10DBh    Rohm Research
  6845.  10DCh    CERN/ECP/EDU (see #0719)
  6846.  10DDh    Evans & Sutherland (see #0720)
  6847.  10DEh    NVidia Corporation
  6848.  10DFh    Emulex Corporation (see #0721)
  6849.  10E0h    Integrated Micro Solutions (IMS) (see #0722)
  6850.  10E1h    TekRAM Technology Corporation Ltd. (see #0723)
  6851.  10E2h    Aptix Corporation
  6852.  10E3h    Newbridge Microsystems (see #0724)
  6853.  10E4h    Tandem Computers
  6854.  10E5h    Micro Industries
  6855.  10E6h    Gainbery Computer Products Inc.
  6856.  10E7h    Vadem
  6857.  10E8h    Applied Micro Circuits Corp. (see #0725)
  6858.  10E9h    Alps Electronic Corp. Ltd.
  6859.  10EAh    Integraphics Systems (see #0726)
  6860.  10EBh    Artist Graphics (see #0727)
  6861.  10ECh    Realtek Semiconductor (see #0728)
  6862.  10EDh    ASCII Corporation (see #0729)
  6863.  10EEh    Xilinx Corporation
  6864.  10EFh    Racore Computer Products
  6865.  10F0h    Peritek Corporation
  6866.  10F1h    Tyan Computer
  6867.  10F2h    Achme Computer Inc.
  6868.  10F3h    Alaris Inc.
  6869.  10F4h    S-MOS Systems
  6870.  10F5h    NKK Corporation (see #0730)
  6871.  10F6h    Creative Electronic Systems SA
  6872.  10F7h    Matsushita Electric Industrial Corp. Ltd.
  6873.  10F8h    Altos India Ltd.
  6874.  10F9h    PC Direct
  6875.  10FAh    Truevision (see #0731)
  6876.  10FBh    Thesys Microelectronics
  6877.  10FCh    I/O Data Device Inc.
  6878.  10FDh    Soyo Technology Corp. Ltd.
  6879.  10FEh    Fast Electronic GmbH
  6880.  10FFh    N-Cube
  6881.  1100h    Jazz Multimedia
  6882.  1101h    Initio Corporation (see #0732)
  6883.  1102h    Creative Labs
  6884.  1103h    Triones Technologies Inc.
  6885.  1104h    Rasterops
  6886.  1105h    Sigma Designs, Inc.
  6887.  1106h    VIA Technologies (see #0733)
  6888.  1107h    Stratus Computer
  6889.  1108h    Proteon Inc. (see #0734)
  6890.  1109h    Cogent Data Technologies (see #0735)
  6891.  110Ah    Siemens AG / Siemens Nixdorf AG (see #0736)
  6892.  110Bh    Xenon Microsystems
  6893.  110Ch    Mini-Max Technology Inc.
  6894.  110Dh    ZNyX Corporation
  6895.  110Eh    CPU Technology
  6896.  110Fh    Ross Technology
  6897.  1110h    Powerhouse Systems
  6898.  1111h    Santa Cruz Operation (SCO)
  6899.  1112h    Rockwell / RNS division of Meret Communications Inc. (see #0737)
  6900.  1113h    Accton Technology Corporation
  6901.  1114h    Atmel Corporation
  6902.  1115h    DuPont Pixel Systems
  6903.  1116h    Data Translation
  6904.  1117h    Datacube Inc. (see #0738)
  6905.  1118h    Berg Electronics
  6906.  1119h    Vortex Computersysteme GmbH (see #0739)
  6907.  111Ah    Efficient Networks, Inc. (see #0740)
  6908.  111Bh    Teledyne Electronic Systems
  6909.  111Ch    Tricord Systems, Inc.
  6910.  111Dh    Integrated Device Technology
  6911.  111Eh    Eldec Corporation
  6912.  111Fh    Precision Digital Images
  6913.  1120h    EMC Corporation
  6914.  1121h    Zilog
  6915.  1122h    Multi-tech Systems, Inc.
  6916.  1124h    Leutron Vision AG
  6917.  1125h    Eurocore
  6918.  1126h    Vigra
  6919.  1127h    FORE Systems (see #0741)
  6920.  1128h    ???
  6921.  1129h    Firmworks
  6922.  112Ah    Hermes Electronics Co.
  6923.  112Bh    Linotype - Hell AG
  6924.  112Dh    Ravicad
  6925.  112Eh    Infomedia MicroElectronics Inc (see #0742)
  6926.  112Fh    Imaging Technology (see #0743)
  6927.  1130h    Computervision
  6928.  1131h    Philips Semiconductors
  6929.  1132h    Mitel Corp
  6930.  1133h    Eicon Technology Corporation
  6931.  1134h    Mercury Computer Systems Inc (see #0744)
  6932.  1135h    Fuji Xerox Co Ltd (see #0745)
  6933.  1136h    Momentum Data Systems
  6934.  1137h    Cisco Systems Inc
  6935.  1138h    Ziatech Corporation (see #0746)
  6936.  1139h    Dynamic Pictures Inc (see #0747)
  6937.  113Ah    FWB Inc
  6938.  113Ch    Cyclone Microsystems (PLX) (see #0748)
  6939.  113Dh    Leading Edge Products Inc
  6940.  113Eh    Sanyo Electric Co
  6941.  113Fh    Equinox Systems
  6942.  1140h    Intervoice Inc
  6943.  1141h    Crest Microsystem Inc (see #0749)
  6944.  1142h    Alliance Semiconductor Corp (see #0750)
  6945.  1143h    Netpower, Inc.
  6946.  1144h    Cincinnati Milacron (see #0751)
  6947.  1145h    Workbit Corp
  6948.  1146h    Force Computers
  6949.  1147h    Interface Corp.
  6950.  1148h    Schneider & Koch Co. (see #0752)
  6951.  1149h    Win System Corporation
  6952.  114Ah    VMIC (see #0753)
  6953.  114Bh    Canopus Co.
  6954.  114Ch    Annabooks
  6955.  114Dh    IC Corporation
  6956.  114Eh    Nikon Systems Inc
  6957.  114Fh    Digi International / Stargate (see #0754)
  6958.  1150h    Thinking Machines Corp.
  6959.  1151h    JAE Electronics Inc.
  6960.  1152h    Megatek
  6961.  1153h    Land Win Electronic Corp.
  6962.  1154h    Melco Inc.
  6963.  1155h    Pine Technology Ltd.
  6964.  1156h    Periscope Engineering
  6965.  1157h    Avsys Corporation
  6966.  1158h    Voarx R&D Inc. (see #0755)
  6967.  1159h    MuTech (see #0756)
  6968.  115Ah    Harleguin Ltd.
  6969.  115Bh    Parallax Graphics
  6970.  115Ch    ???
  6971.  115Dh    Xircom
  6972.  115Eh    Peer Protocols Inc.
  6973.  115Fh    ???
  6974.  1160h    Megasoft Inc.
  6975.  1161h    PFU Ltd. (see #0757)
  6976.  1162h    OA Laboratory Co Ltd.
  6977.  1163h    Creative Labs (see #0758)
  6978.  1164h    Advanced Peripherals Tech
  6979.  1165h    Imagraph Corporation (see #0759)
  6980.  1166h    Pequr Technology Inc.
  6981.  1167h    Mutoh Industries, Inc.
  6982.  1168h    Thine Electronics Inc
  6983.  1169h    ???
  6984.  116Ah    Polaris Communications
  6985.  116Bh    Connectware Inc
  6986.  116Ch    ???
  6987.  116Dh    ???
  6988.  116Eh    ???
  6989.  116Fh    Workstation Technology
  6990.  1170h    Inventec Corporation
  6991.  1171h    Loughborough Sound Images
  6992.  1172h    Altera Corporation
  6993.  1173h    Adobe Systems
  6994.  1174h    Bridgeport Machines
  6995.  1175h    Mitron Computer Inc.
  6996.  1176h    SBE
  6997.  1177h    Silicon Engineering
  6998.  1178h    Alfa Inc (see #0760)
  6999.  1179h    Toshiba America Info Systems
  7000.  117Ah    A-Trend Technology
  7001.  117Bh    ???
  7002.  117Ch    Atto Technology
  7003.  117Dh    ???
  7004.  117Eh    T/R Systems
  7005.  117Fh    ???
  7006.  1180h    Ricoh Co Ltd
  7007.  1181h    Telmatics International
  7008.  1182h    ???
  7009.  1183h    Fujikura Ltd
  7010.  1184h    Forks Inc
  7011.  1185h    Dataworld
  7012.  1186h    D-Link System Inc
  7013.  1187h    Advanced Technology Laboratories
  7014.  1188h    Shima Seiki Manufacturing Ltd.
  7015.  1189h    Matsushita Electronics (see #0761)
  7016.  118Ah    Hilevel Technology
  7017.  118Bh    ???
  7018.  118Ch    Corollary Inc (see #0762)
  7019.  118Dh    BitFlow Inc (see #0763)
  7020.  118Eh    Hermstedt GmbH
  7021.  118Fh    ???
  7022.  1190h    ???
  7023.  1191h    Artop Electric (see #0764)
  7024.  1192h    Densan Co. Ltd
  7025.  1193h    Zeitnet Inc. (see #0765)
  7026.  1194h    Toucan Technology
  7027.  1195h    Ratoc System Inc
  7028.  1196h    Hytec Electronics Ltd
  7029.  1197h    Gage Applied Sciences Inc.
  7030.  1198h    Lambda Systems Inc
  7031.  1199h    Digital Communications Associates Inc,
  7032.  119Ah    Mind Share Inc.
  7033.  119Bh    Omega Micro Inc.
  7034.  119Ch    Information Technology Inst.
  7035.  119Dh    Bug Sapporo Japan
  7036.  119Eh    Fujitsu
  7037.  119Fh    Bull Hn Information Systems
  7038.  11A0h    Convex Computer Corporation
  7039.  11A1h    Hamamatsu Photonics K.K.
  7040.  11A2h    Sierra Research and Technology
  7041.  11A4h    Barco
  7042.  11A5h    MicroUnity Systems Engineering, Inc.
  7043.  11A6h    Pure Data
  7044.  11A7h    Power Computing Corp.
  7045.  11A9h    InnoSys Inc. (see #0766)
  7046.  11AAh    Actel
  7047.  11ABh    Galileo Technology Ltd. (see #0767)
  7048.  11ACh    Canon Information Systems
  7049.  11ADh    Lite-On Communications Inc
  7050.  11AEh    Scitex Corporation Ltd
  7051.  11AFh    Pro-Log Corporation
  7052.  11B0h    V3 Semiconductor Inc. (see #0768)
  7053.  11B1h    Apricot Computers
  7054.  11B2h    Eastman Kodak
  7055.  11B3h    Barr Systems Inc.
  7056.  11B4h    Leitch Technology International
  7057.  11B5h    Radstone Technology Plc
  7058.  11B6h    United Video Corp
  7059.  11B7h    Motorola
  7060.  11B8h    Xpoint Technologies Inc
  7061.  11B9h    Pathlight Technology Inc. (see #0769)
  7062.  11BAh    Videotron Corp
  7063.  11BBh    Pyramid Technology
  7064.  11BCh    Network Peripherals Inc
  7065.  11BDh    Pinnacle Systems Inc.
  7066.  11BEh    International Microcircuits Inc
  7067.  11C3h    NEC Corporation
  7068.  11C4h    Document Technologies Ind.
  7069.  11C5h    Shiva Corporatin
  7070.  11C7h    D.C.M. Data Systems
  7071.  11C8h    Dolphin Interconnect Solutions (see #0770)
  7072.  11C9h    MAGMA
  7073.  11CAh    LSI Systems Inc
  7074.  11CBh    Specialix Research Ltd. (see #0771)
  7075.  11CCh    Michels & Kleberhoff Computer GmbH
  7076.  11CDh    HAL Computer Systems Inc.
  7077.  11DEh    Zoran Corporation
  7078.  11F8h    PMC-Sierra Inc. (see #0772)
  7079.  11FEh    RP ??? (see #0773)
  7080.  120Eh    Cyclades (see #0774)
  7081.  1220h    Ariel Corporation (see #0775)
  7082.  122Dh    Aztech Systems Ltd
  7083.  1239h    The 3DO Company
  7084.  124Dh    Stallion Technologies
  7085.  1254h    Linear Systems Ltd.
  7086.  125Ch    Aurora Technologies, Inc.
  7087.  1275h    Network Appliance
  7088.  127Ah    Rockwell Semiconductor Systems
  7089.  1296h    Kofax Image Products
  7090.  12C5h    Picture Elements, Inc. (see #0776)
  7091.  1C1Ch    Symphony (see #0777)
  7092.  1DE1h    TekRAM (see #0778)
  7093.  3D3Dh    3DLabs (see #0779)
  7094.  4005h    Avance Logic, Inc. (see #0780)
  7095.  4B10h    Buslogic Inc. (see #0781)
  7096.  5333h    S3 (see also #0782)
  7097.  5700h    Netpower
  7098.  6374h    c't Magazin fuer Computertechnik (see #0783)
  7099.  8008h    Quancom Electronic GmbH (see #0784)
  7100.  8086h    Intel (see also #0785)
  7101.  8800h    Trigem Computer (see #0786)
  7102.  8E0Eh    Computone Corporation
  7103.  9004h    Adaptec (see #0787)
  7104.  907Fh    Atronics (see #0788)
  7105.  EDD8h    Ark Logic Inc (see #0789)
  7106. SeeAlso: #0790
  7107.  
  7108. (Table 0650)
  7109. Values for Compaq PCI device code:
  7110.  0001h    EISA Bridge
  7111.  0002h    ISA Bridge
  7112.  1000h    Triflex/PCI CPU Bridge
  7113.  2000h    Triflex/PCI CPU Bridge
  7114.  3032h    QVision
  7115.  3033h    QVision 1280/p
  7116.  3034h    QVision 1280
  7117.  4000h    Triflex/PCI CPU Bridge
  7118.  F130h    ThunderLAN
  7119. SeeAlso: #0649
  7120.  
  7121. (Table 0651)
  7122. Values for Symbios Logic (formerly NCR) PCI device code:
  7123.  0001h    PCI revision ID:
  7124.     00-0Fh 53C810 (fast SCSI)
  7125.     10-1Fh 53C810A (fast SCSI)
  7126.     20-2Fh 53C810ALV (fast SCSI)
  7127.  0002h    53C820 (fast wide SCSI)
  7128.  0003h    PCI revision ID:
  7129.     00-0Fh 53C825 (fast wide SCSI)
  7130.     10-1Fh 53C825A (Ultra wide SCSI)
  7131.  0004h    53C815 (fast SCSI)
  7132.  0005h    53C810AP (fast SCSI)
  7133.  0006h    PCI revision ID:
  7134.     00-0Fh 53C860 (Ultra SCSI)
  7135.     10-1Fh 53C860LV (Ultra SCSI)
  7136.  000Fh    53C875 (Ultra wide SCSI)
  7137. SeeAlso: #0649
  7138.  
  7139. (Table 0652)
  7140. Values for ATI PCI device code:
  7141.  4158h    68800AX (Mach32)
  7142.  4354h    215CT222
  7143.  4358h    210888CX
  7144.  4758h    210888GX (Mach64)
  7145. SeeAlso: #0649
  7146.  
  7147. (Table 0653)
  7148. Values for VLSI Technologies PCI device code:
  7149.  0005h    82C592 CPU Bridge
  7150.  0006h    82C593 ISA Bridge
  7151.  0007h    82C594 Wildcat System Ctrlr
  7152.  0008h    VL82C597 Wildcat ISA Bridge
  7153.  0009h    82C597
  7154.  000Ch    82C541
  7155.  000Dh    82C543
  7156.  0101h    82C532
  7157.  0102h    82C534
  7158.  0104h    82C535
  7159.  0105h    82C147
  7160.  0200h    82C975 RISC GUI Accelerator
  7161.  0280h    82C925 RISC GUI Accelerator
  7162. SeeAlso: #0649
  7163.  
  7164. (Table 0654)
  7165. Values for Avance Logic, Inc. (Avance Logics) PCI device code:
  7166.  2301h    ALG2301 GUI accelerator
  7167.  2302h    ALG2302 GUI accelerator
  7168. SeeAlso: #0649,INT 10/AX=4F70h
  7169.  
  7170. (Table 0655)
  7171. Values for National Semiconductor PCI device code:
  7172.  0001h    DP83810 Ethernet
  7173.  D001h    NS87410 EIDE controller
  7174. SeeAlso: #0649
  7175.  
  7176. (Table 0656)
  7177. Values for Tseng Labs PCI device code:
  7178.  3202h    ET4000/W32p-2
  7179.  3205h    ET4000/W32p-B
  7180.  3206h    ET4000/W32p-C
  7181.  3207h    ET4000/W32p-D
  7182.  3208h    ET6000
  7183. SeeAlso: #0649
  7184.  
  7185. (Table 0657)
  7186. Values for Weitek PCI device code:
  7187.  9000h    Power9000???
  7188.  9001h    Power9001
  7189.  9100h    Power9100
  7190. SeeAlso: #0649
  7191.  
  7192. (Table 0658)
  7193. Values for DEC PCI device code:
  7194.  0001h    DC21050    DEC BRD PCI-PCI bridge
  7195.  0002h    DC21040    Tulip
  7196.  0009h    DC21140    Tulip Fast
  7197.  000Fh    DEFPA    FDDI
  7198.  0014h    DC21041    Tulip Plus
  7199.  0016h    DGLPB    ATM
  7200.  0019h    DC21143 PCI/Cardbus Ethernet
  7201.  0024h    21151    PCI-PCI Bridge
  7202. SeeAlso: #0649
  7203.  
  7204. (Table 0659)
  7205. Values for Cirrus Logic PCI device code:
  7206.  00A0h    Cirrus 5430
  7207.  00A4h    Cirrus 5434-4
  7208.  00A8h    Cirrus 5434-8
  7209.  00A8h    Cirrus 5434-8
  7210.  00ACh    Cirrus 5436
  7211.  00B8h    Cirrus GD5446
  7212.  1100h    Cirrus 6729
  7213.  1200h    Cirrus 7542
  7214.  1202h    Cirrus 7543
  7215.  1204h    Cirrus 7541
  7216. SeeAlso: #0649
  7217.  
  7218. (Table 0660)
  7219. Values for IBM PCI device code:
  7220.  0002h    MCA Bridge
  7221.  0005h    Alta Lite CPU Bridge
  7222.  0007h    Alta MP CPU Bridge
  7223.  000Ah    ISA Bridge
  7224.  0017h    CPU Bridge
  7225.  0018h    Auto LANStreamer
  7226.  001Bh    GXT-150P Graphics Adapter
  7227.  001Dh    82G2675
  7228.  0020h    MCA Bridge
  7229.  0022h    PCI-PCI Bridge
  7230.  0036h    Miami/PCI  32-bit LocalBus Bridge
  7231.  0047h    ???
  7232.  0048h    ???
  7233.  004Ah    ???
  7234.  004Bh    ???
  7235.  004Ch    ???
  7236.  004Dh    ???
  7237.  004Eh    ???
  7238.  004Fh    ???
  7239.  0050h    ???
  7240.  0051h    ???
  7241.  0052h    ???
  7242.  0053h    ???
  7243.  0055h    ???
  7244.  0059h    ???
  7245.  005Ah    ???
  7246.  005Bh    ???
  7247. SeeAlso: #0649
  7248.  
  7249. (Table 0661)
  7250. Values for Western Digital PCI device code:
  7251.  0193h    WD33C193A 8-bit SCSI
  7252.  0196h    SCSI Bridge
  7253.  0197h    WD33C197A 16-bit SCSI
  7254.  0296h    WD33C296A 16-bit SCSI
  7255.  3193h    WD7193 Fast SCSI-II
  7256.  3197h    WD7197 Fast-Wide SCSI-II
  7257.  3296h    WD7197
  7258.  4296h    WD33C296 Wide Fast-20 Bridge
  7259.  C24Ah    90C?
  7260. SeeAlso: #0649
  7261.  
  7262. (Table 0662)
  7263. Values for AMI PCI device code:
  7264.  9010h    MegaRAID
  7265.  9030h    ??? IDE Controller
  7266.  9031h    ??? IDE Controller
  7267.  9032h    ??? IDE/SCSI Controller
  7268.  9033h    ??? SCSI Controller
  7269.  9040h    ??? Multimedia card
  7270. SeeAlso: #0649
  7271.  
  7272. (Table 0663)
  7273. Values for Advanced Micro Devices (AMD) PCI device code:
  7274.  2000h    Am79C970 (Lance), Am79C971 (PCnet-FAST, PCI revision ID is 2xh)
  7275.  2020h    Am53c974 SCSI
  7276.  2040h    Am79C974 Ethernet/SCSI
  7277. SeeAlso: #0649
  7278.  
  7279. (Table 0664)
  7280. Values for Trident PCI device code:
  7281.  9320h    ??? 32-bit GUI accelerator
  7282.  9350h    ??? 32-bit GUI accelerator
  7283.  9360h    ??? Flat-Panel controller
  7284.  9420h    Trident 9420
  7285.  9440h    Trident 9440
  7286.  9460h    Trident 9460
  7287.  9660h    Trident 9660
  7288.  9682h    ??? Multimedia accelerator
  7289. SeeAlso: #0649
  7290.  
  7291. (Table 0665)
  7292. Values for LSI Logic PCI device code:
  7293.  0000h    Hydra (Pentium chipset)
  7294.  0010h    Aspen (486 chipset)
  7295. SeeAlso: #0649
  7296.  
  7297. (Table 0666)
  7298. Values for Matrox PCI device code:
  7299.  0518h    MGA-II (Ultima)
  7300.  0519h    Millenium (2064W)
  7301.  0D10h    MGA-I (Impression)
  7302. SeeAlso: #0649
  7303.  
  7304. (Table 0667)
  7305. Values for Chips & Technologies PCI device code:
  7306.  00B8h    C&T 64310 GUI Accelerator
  7307.  00D0h    C&T 65545 Flat Panel/CRT VGA
  7308.  00D8h    F65545
  7309.  00DCh    F65548
  7310. SeeAlso: #0649
  7311.  
  7312. (Table 0668)
  7313. Values for Toshiba America PCI device code:
  7314.  0009h    r4x00 Bridge
  7315. SeeAlso: #0649
  7316.  
  7317. (Table 0669)
  7318. Values for Miro / Micro Computer Products AG PCI device code:
  7319.  5601h    36050
  7320.  5607h    video in/out w/ MPEG
  7321. SeeAlso: #0649
  7322.  
  7323. (Table 0670)
  7324. Values for NEC Corporation PCI device code:
  7325.  0001h    PCI-to-486 Bridge
  7326.  0002h    PCI-to-VL98 Bridge
  7327.  0003h    ATM LAN controller
  7328.  0004h    r4000PCI Bridge
  7329.  0005h    PCI-to-486 Bridge
  7330.  0006h    GUI Accelerator
  7331.  0007h    PCI-to-UXbus Bridge
  7332.  0008h    GUI Accelerator
  7333.  0009h    PC-98 Graphics Controller
  7334. SeeAlso: #0649
  7335.  
  7336. (Table 0671)
  7337. Values for Future Domain PCI device code:
  7338.  0000h    TMC-36C70 / TMC-18C30 (fast SCSI)
  7339. SeeAlso: #0649
  7340.  
  7341. (Table 0672)
  7342. Values for Silicon Integrated System (SIS) PCI device code:
  7343.  0001h    SiS6201
  7344.  0002h    SiS6202
  7345.  0006h    SI 85C501/2
  7346.  0008h    SI 85C503/5513
  7347.  0205h    SiS6205
  7348.  0406h    SiS501
  7349.  0496h    SiS496
  7350.  0596h    Pentium chipset
  7351.  0601h    SiS601
  7352.  3602h    IDE controller
  7353.  5401h    486 chipset
  7354.  5511h    SiS5511 Pentium chipset
  7355.  5513h    SiS5513 EIDE controller
  7356.  5581h    Pentium chipset
  7357.  5582h    ISA Bridge
  7358.  5596h    Pentium chipset
  7359.  6204h    video decoder/MPEG
  7360.  6205h    PCI VGA controller
  7361. SeeAlso: #0649
  7362.  
  7363. (Table 0673)
  7364. Values for Hewlett-Packard PCI device code:
  7365.  1030h    J2585A
  7366.  2910h    E2910A PCI-bus exerciser
  7367.  2925h    E2925A PCI-bus exerciser
  7368. SeeAlso: #0649
  7369.  
  7370. (Table 0674)
  7371. Values for PC Technology PCI device code:
  7372.  1000h    RZ1000
  7373.  1001h    RZ1001
  7374. SeeAlso: #0649
  7375.  
  7376. (Table 0675)
  7377. Values for Distributed Processing Technology (DPT) PCI device code:
  7378.  A400h    2124A/9X EATA SmartCache/RAID SCSI
  7379. SeeAlso: #0649
  7380.  
  7381. (Table 0676)
  7382. Values for OPTi PCI device code:
  7383.  C557h    82C557
  7384.  C558h    82C558
  7385.  C621h    82C621
  7386.  C822h    82C822
  7387. SeeAlso: #0649
  7388.  
  7389. (Table 0677)
  7390. Values for SGS Thomson Microelectronics PCI device code:
  7391.  0008h    SGS 2000
  7392.  0009h    SGS 1764
  7393. SeeAlso: #0649
  7394.  
  7395. (Table 0678)
  7396. Values for BusLogic PCI device code:
  7397.  0140h    MultiMaster NC
  7398.  1040h    MultiMaster
  7399.  8130h    FlashPoint
  7400. SeeAlso: #0649
  7401.  
  7402. (Table 0679)
  7403. Values for Texas Instruments PCI device code:
  7404.  0500h    100 Mbit LAN controller
  7405.  0508h    tms380c2x
  7406.  1000h    TI PCI Eagle i/f
  7407.  A001h    TDC1570     64-bit ATM sar
  7408.  A100h    TDC1561     32-bit ATM sar
  7409.  AC10h    PCI1050     PCCard controller
  7410.  AC11h    PCI1053     PCCard controller
  7411.  AC12h    PCI1130     PCCard controller
  7412. SeeAlso: #0649
  7413.  
  7414. (Table 0680)
  7415. Values for Oak Technology PCI device code:
  7416.  0107h    OTI-0107 (Spitfire)
  7417. SeeAlso: #0649
  7418.  
  7419. (Table 0681)
  7420. Values for Winbond PCI device code:
  7421.  0000h    ??? Ethernet controller
  7422.  0001h    83769
  7423.  0105h    82C105
  7424. SeeAlso: #0649
  7425.  
  7426. (Table 0682)
  7427. Values for Hitachi Ltd. PCI device code:
  7428.  0001h    PCI Bridge
  7429.  0002h    PCI-bus controller
  7430. SeeAlso: #0649
  7431.  
  7432. (Table 0683)
  7433. Values for EFAR Microsystems PCI device code:
  7434.  0810h    486 Bridge
  7435.  0922h    Pentium/P54C Bridge
  7436.  0926h    ISA Bridge
  7437. SeeAlso: #0649
  7438.  
  7439. (Table 0684)
  7440. Values for Motorola PCI device code:
  7441.  0001h    MPC105 PowerPC chipset
  7442. SeeAlso: #0649
  7443.  
  7444. (Table 0685)
  7445. Values for Promise Technology PCI device code:
  7446.  5300h    Promise 5300
  7447. SeeAlso: #0649
  7448.  
  7449. (Table 0686)
  7450. Values for Number 9 Computer Company PCI device code:
  7451.  2309h    Imagine 128
  7452.  2339h    Imagine 128-2
  7453. SeeAlso: #0649
  7454.  
  7455. (Table 0687)
  7456. Values for United Microelectronics (UMC) PCI device code:
  7457.  0001h    UM82C881 (486 chipset)
  7458.  0002h    UM82C776 (ISA Bridge)
  7459.  0101h    UM8673F
  7460.  0881h    UM8881 (486 chipset)
  7461.  0886h    UM8886F (ISA Bridge)
  7462.  0891h    UM8891A
  7463.  1001h    UM886A (dual IDE controller)
  7464.  673Ah    UM8886BF
  7465.  8710h    UM8710 VGA controller
  7466.  886Ah    UM8886A
  7467.  8881h    UM8881F
  7468.  8886h    UM8886F
  7469.  8891h    UM8891 (Pentium chipset)
  7470.  9017h    UM9017F
  7471.  E881h    UM8881 (486 chipset)
  7472.  E886h    UM8886N
  7473.  E891h    UM8891N
  7474. SeeAlso: #0649
  7475.  
  7476. (Table 0688)
  7477. Values for 8x8 (X Tech) PCI device code:
  7478.  0001h    AGX-016
  7479.  0002h    IIT3204/3501 MPEG decoder
  7480. SeeAlso: #0649
  7481.  
  7482. (Table 0689)
  7483. Values for PicoPower PCI device code:
  7484.  0000h    PT80C826 VL Bridge
  7485. SeeAlso: #0649
  7486.  
  7487. (Table 0690)
  7488. Values for Mylex Corporation PCI device code:
  7489.  0001h    DAC960P Wide SCSI + RAID
  7490. SeeAlso: #0649
  7491.  
  7492. (Table 0691)
  7493. Values for Yamaha Corporation PCI device code:
  7494.  0001h    ?? 3D graphics controller
  7495.  0002h    YGV615    RPA3 3D graphics controller
  7496. SeeAlso: #0649
  7497.  
  7498. (Table 0692)
  7499. Values for NexGen Microsystems PCI device code:
  7500.  4E78h    NexGen 82C501
  7501. SeeAlso: #0649
  7502.  
  7503. (Table 0693)
  7504. Values for Q Logic PCI device code:
  7505.  1020h    ISP1020 Fast-Wide SCSI
  7506.  1022h    ISP1022 Fast-Wide SCSI
  7507. SeeAlso: #0649
  7508.  
  7509. (Table 0694)
  7510. Values for Leadtek Research PCI device code:
  7511.  0000h    LeadTek 805
  7512. SeeAlso: #0649
  7513.  
  7514. (Table 0695)
  7515. Values for Interphase PCI device code:
  7516.  0001h    ATM interface
  7517.  0002h    100 vg amylan controller
  7518. SeeAlso: #0649
  7519.  
  7520. (Table 0696)
  7521. Values for Data Technology Corporation (DTC) PCI device code:
  7522.  0802h    SL82C105  EIDE Controller
  7523. SeeAlso: #0649
  7524.  
  7525. (Table 0697)
  7526. Values for Contaq Microsystems PCI device code:
  7527.  0600h    Contaq 82C599
  7528. SeeAlso: #0649
  7529.  
  7530. (Table 0698)
  7531. Values for Forex Computer Corporation PCI device code:
  7532.  0001h    FR710  EIDE Controller
  7533.  0613h    ??? Host Bridge
  7534. SeeAlso: #0649
  7535.  
  7536. (Table 0699)
  7537. Values for Bit3 Computer PCI device code:
  7538.  0001h    Model 617  PCI-VME Bus Adapter
  7539. SeeAlso: #0649
  7540.  
  7541. (Table 0700)
  7542. Values for Olicom PCI device code:
  7543.  0001h    ??? Ethernet Controller
  7544. SeeAlso: #0649
  7545.  
  7546. (Table 0701)
  7547. Values for Intergraph Corporation PCI device code:
  7548.  0020h    3D graphics processor
  7549.  0021h    3D graphics processor w/texture
  7550.  0040h    3D graphics frame buffer
  7551.  0041h    3D graphics frame buffer
  7552.  0060h    proprietary bus bridge
  7553.  0720h    Motion JPEG codec
  7554. SeeAlso: #0649
  7555.  
  7556. (Table 0702)
  7557. Values for National Instruments PCI device code:
  7558.  C801h    PCI-GPIB
  7559. SeeAlso: #0649
  7560.  
  7561. (Table 0703)
  7562. Values for CMD Technology, Inc. PCI device code:
  7563.  0640h    CMD 640
  7564.  0642h    IDE controller with RAID-1
  7565.  0646h    CMD 646 EIDE
  7566.  0650h    PBC0650A Fast SCSI-II
  7567. SeeAlso: #0649
  7568.  
  7569. (Table 0704)
  7570. Values for Appian Technology:
  7571.  0038h    ??? EIDE Controller
  7572. SeeAlso: #0649
  7573.  
  7574. (Table 0705)
  7575. Values for Vision / Quantum Designs Ltd. PCI device code:
  7576.  0001h    QD8500
  7577.  0002h    QD8580
  7578. SeeAlso: #0649
  7579.  
  7580. (Table 0706)
  7581. Values for Brooktree Corporation PCI device code:
  7582.  0350h    BT848  TV/PCI with DMA Push
  7583.  2115h    BtV 2115 Mediastream Controller
  7584.  2125h    BtV 2125 Mediastream Controller
  7585.  8230h    ???
  7586. SeeAlso: #0649
  7587.  
  7588. (Table 0707)
  7589. Values for Sierra Semiconductor PCI device code:
  7590.  0000h    STB 64-bit GUI accelerator
  7591. SeeAlso: #0649
  7592.  
  7593. (Table 0708)
  7594. Values for ACC Microelectronics PCI device code:
  7595.  0000h    ACC 2056
  7596. SeeAlso: #0649
  7597.  
  7598. (Table 0709)
  7599. Values for Symphony Labs PCI device code:
  7600.  0001h    83769
  7601.  0103h    sl82c103 PCI-IDE Controller
  7602.  0105h    82C105 bus-master PCI-IDE controller
  7603. SeeAlso: #0649
  7604.  
  7605. (Table 0710)
  7606. Values for PLX Technology PCI device code:
  7607.  9036h    PCI9036 interface chip
  7608.  9060h    PCI9060xx interface chip
  7609. SeeAlso: #0649
  7610.  
  7611. (Table 0711)
  7612. Values for Madge Networks PCI device code:
  7613.  0001h    Smart 16/4 Ringnode
  7614.  1000h    Collage 25 ATM adapter
  7615.  1001h    Collage 155 ATM adapter
  7616. SeeAlso: #0649
  7617.  
  7618. (Table 0712)
  7619. Values for 3com Corporation PCI device code:
  7620.  5900h    3C590
  7621.  5950h    3C595TX
  7622.  5951h    3C595T4
  7623.  5952h    3C595MII
  7624.  8811h    token ring
  7625.  9000h    3C900-TPO Fast Etherlink
  7626.  9001h    3C900-COMBO Fast Etherlink
  7627.  9050h    3C905-TX Fast Etherlink 10/100
  7628. SeeAlso: #0649
  7629.  
  7630. (Table 0713)
  7631. Values for Standard Microsystems Corporation (SMC) PCI device code:
  7632.  1000h    37C665 floppy disk controller
  7633.  1001h    37C922 floppy disk controller
  7634. SeeAlso: #0649
  7635.  
  7636. (Table 0714)
  7637. Values for Acer Labs Inc. PCI device code:
  7638.  1435h    M1435 VL Bridge
  7639.  1445h    ALI M1445 VL bridge + EIDE
  7640.  1449h    ALI M1449 ISA bridge
  7641.  1451h    ALI M1451 Pentium chipset
  7642.  1461h    ALI M1461 P54C chipset
  7643.  1489h    ALI M1489
  7644.  1511h    ALI M1511
  7645.  1513h    ALI M1513
  7646.  3141h    M3141 GUI accelerator VRAM
  7647.  3143h    M3143 GUI accelerator VRAM/DAC
  7648.  3145h    M3145 GUI accelerator VRAM
  7649.  3147h    M3147 GUI accelerator VRAM/DAC
  7650.  3149h    M3149 GUI accelerator VRAM
  7651.  3151h    M3151 GUI accelerator VRAM
  7652.  5212h    M4803
  7653.  5215h    ALI MS4803 EIDE controller
  7654.  5217h    m5217 I/O
  7655.  5219h    m5219 I/O
  7656.  5235h    m5225 I/O
  7657. SeeAlso: #0649
  7658.  
  7659. (Table 0715)
  7660. Values for Surecom Technology PCI device code:
  7661.  5240h    IDE Controller
  7662.  5241h    PCMCIA Bridge
  7663.  5242h    general-purpose controller
  7664.  5243h    Bus controller
  7665.  5244h    Floppy-disk controller
  7666. SeeAlso: #0649
  7667.  
  7668. (Table 0716)
  7669. Values for Neomagic Corporation:
  7670.  0000h    graphics controller
  7671. SeeAlso: #0649
  7672.  
  7673. (Table 0717)
  7674. Values for Advanced System Products PCI device code:
  7675.  1100h    ABP940 revision A??? SCSI
  7676.  1200h    ABP940 revision B??? Fast SCSI-2
  7677.  1300h    Fast-Wide SCSI controller
  7678. SeeAlso: #0649
  7679.  
  7680. (Table 0718)
  7681. Values for Citicorp TTI PCI device code:
  7682.  2001h    mb86605 Wide SCSI-2
  7683. SeeAlso: #0649
  7684.  
  7685. (Table 0719)
  7686. Values for CENR/ECP/EDU PCI device code:
  7687.  0001h    SPSB PMC
  7688.  0002h    SPSB PCI
  7689.  10DCh    ATT 2C15-3 FPGA
  7690. SeeAlso: #0649
  7691.  
  7692. (Table 0720)
  7693. Values for Evans & Sutherland PCI device code:
  7694.  0001h    3D graphics processor
  7695. SeeAlso: #0649
  7696.  
  7697. (Table 0721)
  7698. Values for Emulex Corporation PCI device code:
  7699.  1AE5h    Fibre Channel Host Adapter
  7700. SeeAlso: #0649
  7701.  
  7702. (Table 0722)
  7703. Values for Integrated Micro Solutions PCI device code:
  7704.  5026h    IMS5026/27/28 VL Bridge
  7705.  5028h    ISA Bridge
  7706.  8849h    IMS 8849
  7707.  8853h    ATM network card
  7708.  9128h    IMS9129 GUI accelerator
  7709. SeeAlso: #0649
  7710.  
  7711. (Table 0723)
  7712. Values for TekRAM Technology Corporation Ltd. PCI device code:
  7713.  690Ch    TekRAM 690c
  7714. SeeAlso: #0649
  7715.  
  7716. (Table 0724)
  7717. Values for Newbridge Microsystems PCI device code:
  7718.  0000h    CA91C042 VMEbus Bridge
  7719. SeeAlso: #0649
  7720.  
  7721. (Table 0725)
  7722. Values for Applied Micro Circuits Corp. PCI device code:
  7723.  4750h    S5933 PCI controller
  7724.  8043h    MyriNet
  7725. SeeAlso: #0649
  7726.  
  7727. (Table 0726)
  7728. Values for Integraphics Systems PCI device code:
  7729.  1680h    1680
  7730. SeeAlso: #0649
  7731.  
  7732. (Table 0727)
  7733. Values for Artist Graphics PCI device code:
  7734.  0101h    3GA 64-bit graphics processor
  7735. SeeAlso: #0649
  7736.  
  7737. (Table 0728)
  7738. Values for Realtek Semiconductor PCI device code:
  7739.  8029h    Realtek 8029
  7740. SeeAlso: #0649
  7741.  
  7742. (Table 0729)
  7743. Values for ASCII Corporation PCI device code:
  7744.  7310h    V7310 VGA Video Overlay
  7745. SeeAlso: #0649
  7746.  
  7747. (Table 0730)
  7748. Values for NKK Corporation PCI device code:
  7749.  A001h    NDR4000      NR4600 Bridge
  7750. SeeAlso: #0649
  7751.  
  7752. (Table 0731)
  7753. Values for Truevision PCI device code:
  7754.  0000h    ??? GUI Accelerator
  7755.  0001h    ??? GUI Accelerator
  7756.  0002h    ??? GUI Accelerator
  7757.  0003h    ??? GUI Accelerator
  7758.  0004h    ??? GUI Accelerator
  7759.  0005h    ??? GUI Accelerator
  7760.  0006h    ??? GUI Accelerator
  7761.  0007h    ??? GUI Accelerator
  7762.  0008h    ??? GUI Accelerator
  7763.  0009h    ??? GUI Accelerator
  7764.  0010h    ??? GUI Accelerator
  7765.  0011h    ??? GUI Accelerator
  7766.  0012h    ??? GUI Accelerator
  7767.  0013h    ??? GUI Accelerator
  7768.  0014h    ??? GUI Accelerator
  7769.  0015h    ??? GUI Accelerator
  7770. SeeAlso: #0649
  7771.  
  7772. (Table 0732)
  7773. Values for Initio Corporation PCI device code:
  7774.  9100h    320P
  7775.  9400h    Fast-Wide SCSI
  7776.  9700h    Fast-Wide SCSI
  7777. SeeAlso: #0649
  7778.  
  7779. (Table 0733)
  7780. Values for VIA Technologies PCI device code:
  7781.  0505h    VIA 82C505
  7782.  0561h    VIA 82C561
  7783.  0576h    VIA 82C576
  7784.  1000h    82C570MV P54 Controller
  7785.  1106h    82C570MV ISA Bridge + IDE
  7786.  1571h    VIA 82C416
  7787. SeeAlso: #0649
  7788.  
  7789. (Table 0734)
  7790. Values for Proteon Inc. PCI device code:
  7791.  0100h    p1690plus-AA  Token Ring
  7792.  0101h    p1690plus-AB 2-port Token Ring
  7793. SeeAlso: #0649
  7794.  
  7795. (Table 0735)
  7796. Values for Cogent Data Technologies PCI device code:
  7797.  1400h    EM110TX PCI Fast Ethernet
  7798. SeeAlso: #0649
  7799.  
  7800. (Table 0736)
  7801. Values for Siemens Nixdorf PCI device code:
  7802.  6120h    SZB6120 Multimedia Adapter
  7803. SeeAlso: #0649
  7804.  
  7805. (Table 0737)
  7806. Values for Rockwell PCI device code:
  7807.  2200h    FDDI adapter
  7808.  2300h    Fast Ethernet adapter
  7809.  2340h    four-port Fast Ethernet
  7810.  2400h    ATM adapter
  7811. SeeAlso: #0649
  7812.  
  7813. (Table 0738)
  7814. Values for Datacube Inc. PCI device code:
  7815.  9500h    MAX-LC SuperVGA
  7816.  9501h    MAX-LC image processing
  7817. SeeAlso: #0649
  7818.  
  7819. (Table 0739)
  7820. Values for Vortex Computersysteme GmbH PCI device code:
  7821.  0000h    GDT60x0 SCSI RAID
  7822.  0001h    GDT6000B SCSI RAID
  7823.  0002h    GDT6x10 SCSI RAID
  7824.  0003h    GDT6x20 two-channel SCSI RAID
  7825.  0004h    GDT6530 three-channel SCSI RAID
  7826.  0005h    GDT6550 five-channel SCSI RAID
  7827.  0006h    GDT6x17
  7828.  0007h    GDT6x27
  7829.  0008h    GDT6537
  7830.  0009h    GDT6557
  7831.  000Ah    GDT6x15
  7832.  000Bh    GDT6x25
  7833.  000Ch    GDT6535
  7834.  000Dh    GDT6555
  7835. SeeAlso: #0649
  7836.  
  7837. (Table 0740)
  7838. Values for Efficient Networks, Inc. PCI device code:
  7839.  0000h    155P-MF1 ATM FPGA
  7840.  0002h    ATM ASIC
  7841. SeeAlso: #0649
  7842.  
  7843. (Table 0741)
  7844. Values for FORE Systems PCI device code:
  7845.  0210h    PCA200PC
  7846.  0300h    PCA200E
  7847. SeeAlso: #0649
  7848.  
  7849. (Table 0742)
  7850. Values for Infomedia MicroElectronics PCI device code:
  7851.  0000h    EIDE/HD and IDE/CD-ROM controller
  7852.  000Bh    EIDE/HD and IDE/CD-ROM controller
  7853. SeeAlso: #0649
  7854.  
  7855. (Table 0743)
  7856. Values for Imaging Technology PCI device code:
  7857.  0000h    ICPCI
  7858.  0001h    video frame grabber/processor
  7859. SeeAlso: #0649
  7860.  
  7861. (Table 0744)
  7862. Values for Mercury Computer Systems PCI device code:
  7863.  0001h    Raceway Bridge
  7864. SeeAlso: #0649
  7865.  
  7866. (Table 0745)
  7867. Values for Fuji Xerox Co Ltd. PCI device code:
  7868.  0001h    Printer Controller
  7869. SeeAlso: #0649
  7870.  
  7871. (Table 0746)
  7872. Values for Ziatech Corporation PCI device code:
  7873.  8905h    8905 STD-32 Bridge
  7874. SeeAlso: #0649
  7875.  
  7876. (Table 0747)
  7877. Values for Dynamic Pictures Inc. PCI device code:
  7878.  0001h    VGA-compatible 3D graphics
  7879. SeeAlso: #0649
  7880.  
  7881. (Table 0748)
  7882. Values for Cyclone Microsystems (PLX Technology???) PCI device code:
  7883.  0001h    PLX 9060
  7884.  0911h    PCI 911     i960Jx Intelligent I/O
  7885.  0912h    PCI 912     i960Cx Intelligent I/O
  7886.  0913h    PCI 913     i960Hx Intelligent I/O
  7887. SeeAlso: #0649
  7888.  
  7889. (Table 0749)
  7890. Values for Crest Microsystem PCI device code:
  7891.  0001h    EIDE/ATAPI super adapter
  7892. SeeAlso: #0649
  7893.  
  7894. (Table 0750)
  7895. Values for Alliance Semiconductor Corp. PCI device code:
  7896.  3210h    Pro Motion 3210
  7897.  6410h    GUI Accelerator
  7898.  6412h    GUI Accelerator
  7899.  6420h    GUI Accelerator
  7900.  6422h    Pro Video
  7901.  6424h    GUI Accelerator
  7902.  6426h    GUI Accelerator
  7903. SeeAlso: #0649
  7904.  
  7905. (Table 0751)
  7906. Values for Cincinnati Milacron PCI device code:
  7907.  0001h    Noservo Controller
  7908. SeeAlso: #0649
  7909.  
  7910. (Table 0752)
  7911. Values for Schneider & Koch Co. PCI device code:
  7912.  4000h    FDDI adapter
  7913. SeeAlso: #0649
  7914.  
  7915. (Table 0753)
  7916. Values for VMIC PCI device code:
  7917.  7587h    VME
  7918. SeeAlso: #0649
  7919.  
  7920. (Table 0754)
  7921. Values for Digi International / Stargate PCI device code:
  7922.  0003h    RightSwitch
  7923. SeeAlso: #0649
  7924.  
  7925. (Table 0755)
  7926. Values for Voarx R&D Inc. PCI device code:
  7927.  3011h    Tokenet/vg 1001/10m anylan
  7928.  9050h    Lanfleet/Truevalue
  7929. SeeAlso: #0649
  7930.  
  7931. (Table 0756)
  7932. Values for MuTech PCI device code:
  7933.  0001h    MV1000
  7934. SeeAlso: #0649
  7935.  
  7936. (Table 0757)
  7937. Values for PFU Ltd. PCI device code:
  7938.  0001h    Host Bridge
  7939. SeeAlso: #0649
  7940.  
  7941. (Table 0758)
  7942. Values for Creative Labs (vendor ID 1163h) PCI device code:
  7943.  0001h    3D Blaster
  7944. SeeAlso: #0649
  7945.  
  7946. (Table 0759)
  7947. Values for Imagraph Corporation PCI device code:
  7948.  0001h    Motion JPEG record/play w/ audio
  7949. SeeAlso: #0649
  7950.  
  7951. (Table 0760)
  7952. Values for Alfa Inc. PCI device code:
  7953.  AFA1h    Fast Ethernet
  7954. SeeAlso: #0649
  7955.  
  7956. (Table 0761)
  7957. Values for Matsushita Electronics PCI device code:
  7958.  1592h    ???
  7959. SeeAlso: #0649
  7960.  
  7961. (Table 0762)
  7962. Values for Corollary Inc. PCI device code:
  7963.  0014h    PCIB  C-bus II to PCI bridge chip
  7964. SeeAlso: #0649
  7965.  
  7966. (Table 0763)
  7967. Values for BitFlow Inc. PCI device code:
  7968.  0001h    Raptor-PCI frame grabber
  7969. SeeAlso: #0649
  7970.  
  7971. (Table 0764)
  7972. Values for Artop Electric PCI device code:
  7973.  0001h    IDE controller
  7974.  0002h    IDE controller
  7975.  0003h    SCSI-2 cache controller
  7976.  0004h    ATP8400 ASIC cache accelerator
  7977.  8001h    SCSI-2 cache controller
  7978.  8002h    SCSI-2 controller
  7979. SeeAlso: #0649
  7980.  
  7981. (Table 0765)
  7982. Values for Zeitnet Inc. PCI device code:
  7983.  0001h    Zeitnet 1221
  7984.  0002h    Zeitnet 1225
  7985. SeeAlso: #0649
  7986.  
  7987. (Table 0766)
  7988. Values for InnoSys Inc. PCI device code:
  7989.  4240h    AMCC S5933Q Intelligent Serial Card
  7990. SeeAlso: #0649
  7991.  
  7992. (Table 0767)
  7993. Values for Galileo Technology PCI device code:
  7994.  0146h    GT-64010 System Controller for R46xx CPU
  7995.  4801h    GT-48001 8-port switched Ethernet ctrlr
  7996. SeeAlso: #0649
  7997.  
  7998. (Table 0768)
  7999. Values for V3 Semiconductor Inc. PCI device code:
  8000.  0292h    V292PBC     Am29030/40 Bridge
  8001.  0960h    V96xPBC     i960 Bridge
  8002.  C960h    V96DPC     i960 dual PCI Bridge
  8003. SeeAlso: #0649
  8004.  
  8005. (Table 0769)
  8006. Values for Pathlight Technology PCI device code:
  8007.  C0EDh    SSA Controller
  8008. SeeAlso: #0649
  8009.  
  8010. (Table 0770)
  8011. Values for Dolphin Interconnect Solutions PCI device code:
  8012.  0658h    PSB  PCI-SCI Bridge
  8013. SeeAlso: #0649
  8014.  
  8015. (Table 0771)
  8016. Values for Specialix Research Ltd. PCI device code:
  8017.  2000h    PCI-9050 Target Interface
  8018.  4000h    Specialix XIO (SUPI-1 Target Interface)
  8019.  8000h    Specialix RIO (T255 Bridge)
  8020. SeeAlso: #0649
  8021.  
  8022. (Table 0772)
  8023. Values for PMC-Sierra Inc. PCI device code:
  8024.  7375h    PM7375 LASAR-155 ATM SAR
  8025. SeeAlso: #0649
  8026.  
  8027. (Table 0773)
  8028. Values for RP PCI device code:
  8029.  0001h    RP8OCTA
  8030.  0002h    RP8INTF
  8031.  0003h    RP16INTF
  8032.  0004h    RP32INTF
  8033. SeeAlso: #0649
  8034.  
  8035. (Table 0774)
  8036. Values for Cyclades PCI device code:
  8037.  0100h    Cyclom Y Lo multiport serial card
  8038.  0101h    Cyclom Y Hi
  8039.  0200h    Cyclom Z Lo multiport serial card
  8040.  0201h    Cyclom Z Hi
  8041. SeeAlso: #0649
  8042.  
  8043. (Table 0775)
  8044. Values for Ariel Corporation PCI device code:
  8045.  1220h    AMCC 5933  TMS320C80 DSP/Imaging Board
  8046. SeeAlso: #0649
  8047.  
  8048. (Table 0776)
  8049. Values for Picture Elements PCI device code:
  8050.  0081h    PCIVST    PCI Thresholding Engine
  8051. SeeAlso: #0649
  8052.  
  8053. (Table 0777)
  8054. Values for Symphony PCI device code:
  8055.  0001h    Symphony 82C101 IDE controller
  8056. SeeAlso: #0649
  8057.  
  8058. (Table 0778)
  8059. Values for TekRAM PCI device code:
  8060.  DC29h    DC290 / DC290M EIDE controller
  8061. SeeAlso: #0649
  8062.  
  8063. (Table 0779)
  8064. Values for 3DLabs PCI device code:
  8065.  0004h    3C0SX GUI Accelerator
  8066. SeeAlso: #0649
  8067.  
  8068. (Table 0780)
  8069. Values for Avance Logic, Inc. PCI device code:
  8070.  2301h    AVL2301 GUI Accelerator
  8071.  2303h    AVG2302 GUI Accelerator
  8072. SeeAlso: #0649
  8073.  
  8074. (Table 0781)
  8075. Values for BusLogic Inc. PCI device code:
  8076.  3080h    ??? SCSI-ti
  8077.  4010h    ??? Fast-Wide SCSI-2
  8078. SeeAlso: #0649
  8079.  
  8080. (Table 0782)
  8081. Values for S3 PCI device code:
  8082.  5631h    86C325 ViRGE 3D GUI Accelerator
  8083.  8800h    Vision 866
  8084.  8801h    Vision 964
  8085.  8810h    S3 Trio32
  8086.  8811h    S3 Trio32, Trio64, or Trio64V+
  8087.  8812h    S3 Trio64UV+
  8088.  8813h    S3 Trio64? v3
  8089.  888xh    S3 868
  8090.  88Bxh    S3 928
  8091.  88C0h    S3 864-1
  8092.  88C1h    S3 864-2
  8093.  88C2h    S3 864-3
  8094.  88C3h    S3 864-4
  8095.  88D0h    S3 964-1
  8096.  88D1h    S3 964-2
  8097.  88D2h    S3 964-3
  8098.  88D3h    S3 964-4
  8099.  88F0h    S3 968
  8100.  88F1h    S3 968-2
  8101.  88F2h    S3 968-3
  8102.  88F3h    S3 968-3
  8103. SeeAlso: #0649,#0785
  8104.  
  8105. (Table 0783)
  8106. Values for c't Magazin für Computer PCI device code:
  8107.  6773h    GPPCI  PCI interface
  8108. SeeAlso: #0649
  8109.  
  8110. (Table 0784)
  8111. Values for Quancom Electronic PCI device code:
  8112.  0010h    PCI-WDOG1 Watchdog
  8113.  0011h    PWDOG2 Watchdog2/PCI
  8114. SeeAlso: #0649
  8115.  
  8116. (Table 0785)
  8117. Values for Intel PCI device code:
  8118.  0482h    82375 EISA
  8119.  0483h    82424 Cache Controller
  8120.  0484h    82378/82379 Bus Interface (Mercury/Saturn/Neptune chipsets) (see #0817)
  8121.  0486h    82425EX/82430
  8122.  04A3h    82434 (Neptune) (see #0815)
  8123.  0960h    i960 RP Microprocessor/Bridge
  8124.  1221h    82092AA PCMCIA Bridge
  8125.  1222h    82092AA IDE Controller
  8126.  1223h    Intel SAA7116
  8127.  1226h    82596
  8128.  1227h    82865
  8129.  1228h    EtherExpress Pro/100 Smart
  8130.  1229h    82557 Fast Ethernet
  8131.  122Dh    82437FX (Triton)
  8132.  122Eh    82371FB ISA Bridge (Triton)
  8133.  1230h    82338 IDE controller / 82371FB IDE function (Triton)
  8134.  1234h    82371MX
  8135.  1235h    82437MX
  8136.  1237h    82441FX (see #0879)
  8137.  1239h    82371FB IDE Interface (Triton)
  8138.  1250h    82439HX (430HX chipset) (see #0843)
  8139.  1960h    80960RP i960RP Microprocessor
  8140.  7000h    82371SB ISA Bridge (see #0865)
  8141.  7010h    82371SB IDE controller (see #0866)
  8142.  7020h    82371SB (see #0867)
  8143.  7030h    82437VX (430VX chipset) (see #0846)
  8144.  84C4h    82450KX/GX PCI Bridge (Orion)
  8145.  84C5h    82450KX/GX Memory Ctrlr (Orion)
  8146. SeeAlso: #0649,#0782
  8147.  
  8148. (Table 0786)
  8149. Values for Trigem Computer PCI device code:
  8150.  2008h    video assistant
  8151. SeeAlso: #0649
  8152.  
  8153. (Table 0787)
  8154. Values for Adaptec PCI device code:
  8155.  1078h    AIC-7810C RAID Coprocessor
  8156.  5078h    x940 Fast-Wide SCSI-II Ctrlr
  8157.  5578h    AHA-2830P SCSI Controller
  8158.  7078h    AHA-294x/AIC-7870P Fast-Wide SCSI-II
  8159.  7178h    AHA-2940 Fast-Wide SCSI-II
  8160.  7278h    x940 two-channel Fast-Wide SCSI
  8161.  7378h    AHA-3985 4-channel RAID SCSI
  8162.  7478h    AHA-2944 SCSI
  8163.  7810h    AIC-7810 memory control IC
  8164.  7850h    AIC-7850 SCSI IC
  8165.  7855h    AHA-2930 SCSI
  8166.  7870h    AIC-7870 SCSI IC
  8167.  7871h    AHA-2940
  8168.  7872h    AHA-3940
  8169.  7873h    AHA-3980
  8170.  7874h    AHA-2944 Differential SCSI
  8171.  7880h    AIC-7880 Fast-20 SCSI
  8172.  8078h    Adaptec 7880
  8173.  8178h    Adaptec 7881
  8174.  8278h    AHA-3940U/UW
  8175.  8378h    Adaptec 7883
  8176.  8478h    Adaptec 7884
  8177. SeeAlso: #0649
  8178.  
  8179. (Table 0788)
  8180. Values for Atronics PCI device code:
  8181.  2015h    Atronics 2015
  8182. SeeAlso: #0649
  8183.  
  8184. (Table 0789)
  8185. Values for Ark Logic Inc. PCI device code:
  8186.  A091h    ARK 1000PV ??? Stingray
  8187.  A099h    ARK 2000PV ??? Stingray
  8188.  A0A1h    ark2000mt 64-bit GUI Accel w/DCI
  8189. SeeAlso: #0649
  8190. --------X-1AB103-----------------------------
  8191. INT 1A - Intel PCI BIOS v2.0c+ - FIND PCI CLASS CODE
  8192.     AX = B103h
  8193.     ECX = class code (see also #F059,#0790)
  8194.         bits 31-24 unused
  8195.         bits 23-16 class
  8196.         bits 15-8  subclass
  8197.         bits 7-0   programming interface
  8198.     SI = device index (0-n)
  8199. Return: CF clear if successful
  8200.     CF set on error
  8201.     AH = status (00h,86h) (see #0646)
  8202.         00h successful
  8203.         BH = bus number
  8204.         BL = device/function number (bits 7-3 device, bits 2-0 func)
  8205.         86h device not found
  8206.     EAX, EBX, ECX, and EDX may be modified
  8207.     all other flags (except IF) may be modified
  8208. Notes:    this function may require up to 1024 byte of stack; it will not enable
  8209.       interrupts if they were disabled before making the call
  8210.     the meanings of BL and BH on return were exchanged between the initial
  8211.       drafts of the specification and final implementation
  8212.     all devices sharing the same Class Code may be enumerated by
  8213.       incrementing SI from 0 until error 86h is returned
  8214. SeeAlso: AX=B183h
  8215. --------X-1AB106-----------------------------
  8216. INT 1A - Intel PCI BIOS v2.0c+ - PCI BUS-SPECIFIC OPERATIONS
  8217.     AX = B106h
  8218.     BL = bus number
  8219.     EDX = Special Cycle data
  8220. Return: CF clear if successful
  8221.     CF set on error
  8222.     AH = status (00h,81h) (see #0646)
  8223.     EAX, EBX, ECX, and EDX may be modified
  8224.     all other flags (except IF) may be modified
  8225. Note:    this function may require up to 1024 byte of stack; it will not enable
  8226.       interrupts if they were disabled before making the call
  8227. SeeAlso: AX=B186h,INT 2F/AX=1684h/BX=304Ch
  8228. --------X-1AB108-----------------------------
  8229. INT 1A - Intel PCI BIOS v2.0c+ - READ CONFIGURATION BYTE
  8230.     AX = B108h
  8231.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  8232.     BH = bus number
  8233.     DI = register number (0000h-00FFh) (see #0790)
  8234. Return: CF clear if successful
  8235.         CL = byte read
  8236.     CF set on error
  8237.     AH = status (00h,87h) (see #0646)
  8238.     EAX, EBX, ECX, and EDX may be modified
  8239.     all other flags (except IF) may be modified
  8240. Notes:    this function may require up to 1024 byte of stack; it will not enable
  8241.       interrupts if they were disabled before making the call
  8242.     the meanings of BL and BH on entry were exchanged between the initial
  8243.       drafts of the specification and final implementation
  8244. SeeAlso: AX=B109h,AX=B10Ah,AX=B188h,INT 2F/AX=1684h/BX=304Ch
  8245. --------X-1AB109-----------------------------
  8246. INT 1A - Intel PCI BIOS v2.0c+ - READ CONFIGURATION WORD
  8247.     AX = B109h
  8248.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  8249.     BH = bus number
  8250.     DI = register number (0000h-00FFh) (see #0790)
  8251. Return: CF clear if successful
  8252.         CX = word read
  8253.     CF set on error
  8254.     AH = status (00h,87h) (see #0646)
  8255.     EAX, EBX, ECX, and EDX may be modified
  8256.     all other flags (except IF) may be modified
  8257. Notes:    this function may require up to 1024 byte of stack; it will not enable
  8258.       interrupts if they were disabled before making the call
  8259.     the meanings of BL and BH on entry were exchanged between the initial
  8260.       drafts of the specification and final implementation
  8261. SeeAlso: AX=B108h,AX=B10Ah,AX=B189h,INT 2F/AX=1684h/BX=304Ch
  8262. --------X-1AB10A-----------------------------
  8263. INT 1A - Intel PCI BIOS v2.0c+ - READ CONFIGURATION DWORD
  8264.     AX = B10Ah
  8265.     BH = bus number
  8266.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  8267.     DI = register number (0000h-00FFh) (see #0790)
  8268. Return: CF clear if successful
  8269.         ECX = dword read
  8270.     CF set on error
  8271.     AH = status (00h,87h) (see #0646)
  8272.     EAX, EBX, ECX, and EDX may be modified
  8273.     all other flags (except IF) may be modified
  8274. Notes:    this function may require up to 1024 byte of stack; it will not enable
  8275.       interrupts if they were disabled before making the call
  8276.     the meanings of BL and BH on entry were exchanged between the initial
  8277.       drafts of the specification and final implementation
  8278. SeeAlso: AX=B108h,AX=B109h,AX=B18Ah,INT 2F/AX=1684h/BX=304Ch
  8279.  
  8280. Format of PCI Configuration Data:
  8281. Offset    Size    Description    (Table 0790)
  8282.  00h    WORD    vendor ID (read-only) (see #0649 at AX=B102h)
  8283.         FFFFh returned if requested device non-existent
  8284.  02h    WORD    device ID (read-only)
  8285.  04h    WORD    command register (see #0791)
  8286.  06h    WORD    status register (see #0792)
  8287.  08h    BYTE    revision ID
  8288.  09h  3 BYTEs    class code
  8289.         bits 7-0: programming interface
  8290.         bits 15-8: sub-class
  8291.         bits 23-16: class code (see also #F059)
  8292.  0Ch    BYTE    cache line size
  8293.  0Dh    BYTE    latency timer
  8294.  0Eh    BYTE    header type
  8295.         bits 6-0: header format
  8296.             00h other
  8297.             01h PCI-to-PCI bridge
  8298.             02h PCI-to-CardBus bridge
  8299.         bit 7: multi-function device
  8300.  0Fh    BYTE    Built-In Self-Test result (see #0793)
  8301. ---header type 00h---
  8302.  10h    DWORD    base address 0 (see #0794)
  8303.         (OpenHCI) base address of host controller registers (see #0891)
  8304.  14h    DWORD    base address 1
  8305.  18h    DWORD    base address 2
  8306.  1Ch    DWORD    base address 3
  8307.  20h    DWORD    base address 4
  8308.  24h    DWORD    base address 5
  8309.  28h    DWORD    CardBus CIS pointer (read-only) (see #0801)
  8310.  2Ch    WORD    subsystem vendor ID or 0000h
  8311.  2Eh    WORD    subsystem ID or 0000h
  8312.  30h    DWORD    expansion ROM base address (see #0795)
  8313.  34h    BYTE    offset of capabilities list within configuration space (R/O)
  8314.         (only valid if status register bit 4 set) (see #0796)
  8315.  35h  3 BYTEs    reserved
  8316.  38h    DWORD    reserved
  8317.  3Ch    BYTE    interrupt line
  8318.         00h = none, 01h = IRQ1 to 0Fh = IRQ15
  8319.  3Dh    BYTE    interrupt pin (read-only)
  8320.         (00h = none, else indicates INTA# to INTD#)
  8321.  3Eh    BYTE    minimum time bus master needs PCI bus ownership, in 250ns units
  8322.         (read-only)
  8323.  3Fh    BYTE    maximum latency, in 250ns units (bus masters only) (read-only)
  8324.  40h 48 DWORDs    varies by device (see #0813,#0814,#0815,#0836)
  8325. ---header type 01h---
  8326.  10h    DWORD    base address 0 (see #0794)
  8327.  14h    DWORD    base address 1
  8328.  18h    BYTE    primary bus number (for bus closer to host processor)
  8329.  19h    BYTE    secondary bus number (for bus further from host processor)
  8330.  1Ah    BYTE    subordinate bus number
  8331.  1Bh    BYTE    secondary latency timer
  8332.  1Ch    BYTE    I/O base (see #0811)
  8333.  1Dh    BYTE    I/O limit (see #0811)
  8334.  1Eh    WORD    secondary status
  8335.  20h    WORD    memory base (see #0812)
  8336.  22h    WORD    memory limit
  8337.  24h    WORD    prefetchable memory base
  8338.  26h    WORD    prefetchable memory limit
  8339.  28h    DWORD    prefetchable base, upper 32 bits
  8340.  2Ch    DWORD    prefetchable limit, upper 32 bits
  8341.  30h    WORD    I/O base, upper 16 bits
  8342.  32h    WORD    I/O limit, upper 16 bits
  8343.  34h    DWORD    reserved
  8344.  38h    DWORD    expansion ROM base address
  8345.  3Ch    BYTE    interrupt line
  8346.  3Dh    BYTE    interrupt pin (read-only)
  8347.  3Eh    WORD    bridge control
  8348.  40h 48 DWORDs    varies by device (see #0813,#0814,#0815,#0836)
  8349. ---header type 02h---
  8350.  10h    DWORD    CardBus Socket/ExCa base address (see #0802)
  8351.         bits 31-12: start address of socket interface register block
  8352.               in 4K blocks
  8353.         bits 11-0: reserved (0)
  8354.  14h    BYTE    offset of capabilities list within configuration space (R/O)
  8355.         (only valid if status register bit 4 set) (see #0796)
  8356.  15h    BYTE    reserved
  8357.  16h    WORD    secondary status
  8358.  18h    BYTE    PCI bus number
  8359.  19h    BYTE    CardBus bus number
  8360.  1Ah    BYTE    subordinate bus number
  8361.  1Bh    BYTE    CardBus latency timer
  8362.  1Ch    DWORD    memory base address 0
  8363.  20h    DWORD    memory limit 0
  8364.  24h    DWORD    memory base address 1
  8365.  28h    DWORD    memory limit 1
  8366.  2Ch    WORD    I/O base address 0
  8367.  2Eh    WORD    I/O base address 0 high word (optional)
  8368.  30h    WORD    I/O limit 0
  8369.  32h    WORD    I/O limit 0 high word (optional)
  8370.  34h    WORD    I/O base address 1
  8371.  36h    WORD    I/O base address 1 high word (optional)
  8372.  38h    WORD    I/O limit 1
  8373.  3Ah    WORD    I/O limit 1 high word (optional)
  8374.  3Ch    BYTE    interrupt line
  8375.  3Dh    BYTE    interrupt pin (read-only) (no interrupt used if 00h)
  8376.  3Eh    WORD    bridge control
  8377.  40h    WORD    subsystem vendor ID
  8378.  42h    WORD    subsystem device ID
  8379.  44h    DWORD    16-bit PC Card legacy mode base address (for accessing ExCa
  8380.           registers)
  8381.  48h 14 DWORDs    reserved
  8382.  80h 32 DWORDs    varies by device (see #0813,#0814,#0815,#0836)
  8383.  
  8384. Bitfields for PCI Configuration Command Register:
  8385. Bit(s)    Description    (Table 0791)
  8386.  0    I/O access enabled
  8387.  1    memory access enabled
  8388.  2    bus master enable
  8389.  3    special cycle recognition enabled
  8390.  4    memory write and invalidate enabled
  8391.  5    VGA palette snoop enabled
  8392.  6    parity error response enabled
  8393.  7    wait cycles enabled
  8394.  8    system error (SERR# line) enabled
  8395.  9    fast back-to-back transactions enabled
  8396.  15-10    reserved
  8397. SeeAlso: #0790,#0792
  8398.  
  8399. Format of PCI Configuration Status Register:
  8400. Bit(s)    Description    (Table 0792)
  8401.  3-0    reserved (0)
  8402.  4    new capabilities list is present (first entry pointed at by byte at
  8403.       34h or 14h)
  8404.  5    capable of running at 66 MHz
  8405.  6    UDF supported
  8406.  7    capable of fast back-to-back transactions
  8407.  8    data parity error reported
  8408.  10-9    device select timing
  8409.     00 fast
  8410.     01 medium
  8411.     10 slow
  8412.     11 reserved
  8413.  11    signaled target abort
  8414.  12    received target abort
  8415.  13    received master abort
  8416.  14    signaled system error (device is asserting SERR# line)
  8417.  15    detected parity error (set even if parity error reporting is disabled)
  8418. Note:    bits 12, 13 and 15 are cleared by writing a 1 into the corresponding
  8419.       bit
  8420. SeeAlso: #0790,#0791
  8421.  
  8422. Bitfields for PCI Configuration Built-In Self-Test register:
  8423. Bit(s)    Description    (Table 0793)
  8424.  3-0    completion code (0000 = successful)
  8425.  5-4    reserved
  8426.  6    start BIST (set to one to start, cleared automatically on completion)
  8427.  7    BIST-capable
  8428. Notes:    this register is hardwired to 00h if no BIST capability
  8429.     software should timeout the BIST after two seconds
  8430. SeeAlso: #0790
  8431.  
  8432. Bitfields for PCI Configuration Base Address:
  8433. Bit(s)    Description    (Table 0794)
  8434.  0    address type (0 = memory space, 1 = I/O space)
  8435. ---memory address---
  8436.  2-1    address type
  8437.     00 anywhere in first 4GB
  8438.     01 below 1MB
  8439.     10 anywhere in 64-bit address space
  8440.     11 reserved
  8441.  3    prefetchable
  8442.  31-4    bits 31-4 of base memory address if addressable in first 1MB or 4GB
  8443.  63-4    bits 63-4 of base memory address if addressable in 64-bit memory
  8444.     (bits 63-32 are stored in the following base address DWORD)
  8445. ---I/O address---
  8446.  1    reserved
  8447.  31-2    bits 31-2 of base I/O port
  8448. SeeAlso: #0790,#0891
  8449.  
  8450. Bitfields for PCI Configuration Expansion ROM Address:
  8451. Bit(s)    Description    (Table 0795)
  8452.  0    address decode enable (ROM address is valid)
  8453.  10-1    reserved
  8454.  31-11    bits 31-11 of ROM's starting physical address
  8455. SeeAlso: #0790
  8456.  
  8457. Format of PCI Capabilities List:
  8458. Offset    Size    Description    (Table 0796)
  8459.  00h    BYTE    capability identifier
  8460.         01h PCI Power Managment
  8461.  01h    BYTE    offset of next item (within configuration space) or 00h
  8462.       N    BYTEs    varies by capability type
  8463. ---PCI Power Management---
  8464.  02h    WORD    power managment capabilities (see #0797) (read-only)
  8465.  04h    WORD    power managment capabilities status register (see #0798)
  8466.  06h    BYTE    PMCSR bridge support extensions (see #0799)
  8467.  07h    BYTE    (optional) read-only data register (see #0800)
  8468. Note:    this information is from the v0.93 draft of the specification and is
  8469.       subject to change
  8470. SeeAlso: #0790,#0792
  8471.  
  8472. Bitfields for PCI Power Management Capabilities:
  8473. Bit(s)    Description    (Table 0797)
  8474.  15    reserved (0)
  8475.  14-12    PME# support
  8476.     bit 12: PME# can be asserted from power state D0
  8477.     bit 13: PME# can be asserted from power state D1
  8478.     bit 14: PME# can be asserted from power state D2
  8479.  11    reserved (0)
  8480.  10    D2 power state supported
  8481.  9    D1 power state supported
  8482.  8    full-speed clock is required in state D0 for proper operation
  8483.     (if clear, device may be run at reduced clock except when actually
  8484.       being accessed)
  8485.  7-6    dynamic clock control support
  8486.     00 not bridge, no dynamic clock control, or secondary bus' clock is
  8487.           is tied to primary bus' clock
  8488.     01 bridge is capable of dynamic clock control
  8489.     10 reserved
  8490.     11 secondary bus has independent clock, but dynamic clock not supported
  8491.  5    device-specific initialization is required
  8492.  4-3    reserved (0)
  8493.  2-0    specification version
  8494.     001 = v1.0; four bytes of power management registers
  8495. Note:    this information is from the v0.93 draft of the specification and is
  8496.       subject to change
  8497. SeeAlso: #0796,#0798,#0799
  8498.  
  8499. Bitfields for PCI Power Management Capabilities Status Register:
  8500. Bit(s)    Description    (Table 0798)
  8501.  15    PME status: if set, PME# is (or would be) asserted
  8502.     writing a 1 to this bit clears it
  8503.  14-13    (read-only) scale factor to apply to contents of Data register
  8504.     00 unknown (or unimplemented data)
  8505.     01 x0.1
  8506.     10 x0.01
  8507.     11 x0.001
  8508.  12-9    (read-write) data select (see #0800)
  8509.  8    (read-write) enable PME# assertion
  8510.  7-5    reserved (0)
  8511.  4    (read-write) enable dynamic data reporting
  8512.     when set, PME# is asserted whenever the value in the Data register
  8513.       changes significantly
  8514.  3-2    reserved (0)
  8515.  1-0    (read-write) current power state
  8516.     00 = D0
  8517.     ...
  8518.     11 = D3
  8519. Note:    this information is from the v0.93 draft of the specification and is
  8520.       subject to change
  8521. SeeAlso: #0796,#0797,#0799
  8522.  
  8523. Bitfields for PCI Power Management PMCSR bridge support extension:
  8524. Bit(s)    Description    (Table 0799)
  8525.  7    (read-only) Bus Power Control Enable
  8526.  6    (read-only) Bus Power State B3 supported
  8527.  5    (read-only) Bus Power State B2 supported
  8528.  4    dynamic clock control enable
  8529.  3-0    reserved (0)
  8530. Note:    this information is from the v0.93 draft of the specification and is
  8531.       subject to change
  8532. SeeAlso: #0796,#0797,#0798
  8533.  
  8534. (Table 0800)
  8535. Values for PCI Power Management Data Select:
  8536.  00h    D0-state power consumed in watts (+20%/-10%)
  8537.  01h    D1-state power consumed in watts (+20%/-10%)
  8538.  02h    D2-state power consumed in watts (+20%/-10%)
  8539.  03h    D3-state power consumed in watts (+20%/-10%)
  8540.  04h    D0-state power dissipated into chassis in watts
  8541.  05h    D1-state power dissipated into chassis in watts
  8542.  06h    D2-state power dissipated into chassis in watts
  8543.  07h    D3-state power dissipated into chassis in watts
  8544.  08h-0Fh reserved
  8545. SeeAlso: #0798
  8546.  
  8547. Bitfields for PCI Configuration CardBus CIS Pointer:
  8548. Bit(s)    Description    (Table 0801)
  8549.  2-0    address space
  8550.     000 in device's device-specific configuration space
  8551.     001 in memory pointed to by base address register 0
  8552.     ...
  8553.     110 in memory pointed to by base address register 5
  8554.     111 in device's expansion ROM
  8555.  27-3    offset within address space defined by bits 2-0
  8556.  31-28    ROM image number
  8557. SeeAlso: #0790
  8558.  
  8559. Format of CardBus Socket/ExCA socket interface register space:
  8560. Offset    Size    Description    (Table 0802)
  8561.  00h    DWORD    Socket Event Register (see #0804)
  8562.  04h    DWORD    Socket Mask Register (see #0805)
  8563.  08h    DWORD    Socket Present State Register (see #0806)
  8564.  0Ch    DWORD    Socket Force Event Register (see #0807)
  8565.  10h    DWORD    Socket Control Register (see #0808)
  8566.  14h  3 DWORDs    reserved
  8567.  20h    DWORD    Socket Power Management Register
  8568.  90h    BYTE    (TI PCI1130) Retry Status Register
  8569.  91h    BYTE    (TI PCI1130) Card Control Register (see #0809)
  8570.  92h    BYTE    (TI PCI1130) Device Control Register (see #0810)
  8571.  93h    BYTE    (TI PCI1130) Buffer Control Register
  8572. 800h 64+ BYTEs    ExCa Socket Interface Registers (see #0803)
  8573.  
  8574. Format of ExCa memory-mapped registers:
  8575. Offset    Size    Description    (Table 0803)
  8576.  00h    BYTE    identification and revision register
  8577.  01h    BYTE    interface status register
  8578.  02h    BYTE    power control register
  8579.  03h    BYTE    interrupt and general control
  8580.  04h    BYTE    card status change
  8581.  05h    BYTE    card status change interrupt configuration
  8582.  06h    BYTE    address window enable
  8583.  07h    BYTE    I/O window control register
  8584.  08h    WORD    I/O window 0 start address
  8585.  0Ah    WORD    I/O window 0 end address
  8586.  0Ch    WORD    I/O window 1 start address
  8587.  0Eh    WORD    I/O window 1 end address
  8588.  10h    WORD    memory window 0 start address
  8589.  12h    WORD    memory window 0 end address
  8590.  14h    WORD    memory window 0 offset address
  8591.  16h  2 BYTEs    user-defined
  8592.  18h    WORD    memory window 1 start address
  8593.  1Ah    WORD    memory window 1 end address
  8594.  1Ch    WORD    memory window 1 offset address
  8595.  1Eh    BYTE    user-defined
  8596.  1Fh    BYTE    reserved
  8597.  20h    WORD    memory window 2 start address
  8598.  22h    WORD    memory window 2 end address
  8599.  24h    WORD    memory window 2 offset address
  8600.  26h  2 BYTEs    user-defined
  8601.  28h    WORD    memory window 3 start address
  8602.  2Ah    WORD    memory window 3 end address
  8603.  2Ch    WORD    memory window 3 offset address
  8604.  2Eh  2 BYTEs    user-defined
  8605.  30h    WORD    memory window 4 start address
  8606.  32h    WORD    memory window 4 end address
  8607.  34h    WORD    memory window 4 offset address
  8608.  36h 10 BYTEs    user-defined
  8609. ---optional---
  8610.  40h    BYTE    memory window 0 start address high byte
  8611.  41h    BYTE    memory window 1 start address high byte
  8612.  42h    BYTE    memory window 2 start address high byte
  8613.  43h    BYTE    memory window 3 start address high byte
  8614.  44h    BYTE    memory window 4 start address high byte
  8615.  45h-7FFh    user-defined
  8616. SeeAlso: #0802
  8617.  
  8618. Bitfields for CardBus Socket Event Register:
  8619. Bit(s)    Description    (Table 0804)
  8620.  0    CSTSCHG pin asserted (status change)
  8621.  1    CCD1# (card detect 1) changed state
  8622.  2    CCD2# (card detect 2) changed state
  8623.  3    interface power cycle completed
  8624. 31-4    reserved (0)
  8625. Note:    the bits in this register are set by the bridge, and cleared by writing
  8626.       a one into the bits one wishes to clear
  8627. SeeAlso: #0802,#0805,#0807
  8628.  
  8629. Bitfields for CardBus Socket Event Mask Register:
  8630. Bit(s)    Description    (Table 0805)
  8631.  0    write-protect (enable status-change interrupt on WriteProtect switch)
  8632.  1    ready mask (allow status-change interrupt on Ready line change)
  8633.  3-2    battery condition (allow status-change int on battery-condition change)
  8634.  4    general wakeup enabled
  8635.  5    binary audio mode enabled on CAUDIO pin
  8636.  6    Pulse Width Modulation enabled on CAUDIO pin
  8637.     (CAUDIO state undefined if both bits 5 and 6 set)
  8638.  13-7    reserved (0)
  8639.  14    Wakeup mask (enable wakeup events via status-change pin)
  8640.  15    enable card interrupts via CINT# pin and wakeup events
  8641.  31-16    reserved
  8642. SeeAlso: #0802,#0804,#0806
  8643.  
  8644. Bitfields for CardBus Socket Present State Register:
  8645. Bit(s)    Description    (Table 0806)
  8646.  0    CSTSCHG pin asserted (status change)
  8647.  1    CCD1# (card detect 1) changed state
  8648.  2    CCD2# (card detect 2) changed state
  8649.  3    interface power cycle completed
  8650.  4    16-bit PC card inserted
  8651.  5    CardBus card inserted
  8652.  6    card's interrupt pin asserted
  8653.  7    card inserted but type can not be determined
  8654.  8    data may have been lost due to abrupt card removal
  8655.  9    attempted to apply Vcc voltage not supported by the card
  8656.  10    card can accept Vcc = 5.0 volts
  8657.  11    card can accept Vcc = 3.3 volts
  8658.  12    card can accept Vcc = X.X volts
  8659.  13    card can accept Vcc = Y.Y volts
  8660.  27-14    reserved (0)
  8661.  28    socket can accept Vcc = 5.0 volts
  8662.  29    socket can accept Vcc = 3.3 volts
  8663.  30    socket can accept Vcc = X.X volts
  8664.  31    socket can accept Vcc = Y.Y volts
  8665. Note:    bits 0-3 may be cleared by writing a 1 into the respective bits
  8666. SeeAlso: #0802,#0804,#0805,#0808
  8667.  
  8668. Bitfields for CardBus Socket Force Event Register:
  8669. Bit(s)    Description    (Table 0807)
  8670.  0    write-protect
  8671.  1    ready
  8672.  2    battery voltage detect 2
  8673.  3    battery voltage detect 1
  8674.  4    general wakeup
  8675.  14-5    reserved (0)
  8676.  15    enable card interrupts via CINT# pin
  8677.  31-16    reserved
  8678. Note:    this register can simulate events by forcing the values of some of the
  8679.       bits in the Event Mask Register; any bit of this register which is
  8680.       set to 1 forces the corresponding bit in the Mask Register to 1,
  8681.       while bits set to 0 leave the corresponding bit unchanged
  8682. SeeAlso: #0802,#0804,#0808
  8683.  
  8684. Bitfields for CardBus Socket Control Register:
  8685. Bit(s)    Description    (Table 0808)
  8686.  2-0    Vpp control
  8687.     000 power off
  8688.     001 12.0 Volts
  8689.     010 5.0 Volts
  8690.     011 3.3 Volts
  8691.     100 reserved (X.X Volts)
  8692.     101 reserved (Y.Y Volts)
  8693.     110 reserved
  8694.     111 reserved
  8695.  3    reserved (0)
  8696.  6-4    Vcc control (as for Vpp, but 12.0V not supported)
  8697.  31-7    reserved (0)
  8698. SeeAlso: #0802,#0805,#0807
  8699.  
  8700. Bitfields for TI PCI1130 Card Control Register:
  8701. Bit(s)    Description    (Table 0809)
  8702.  0    interrupt pending
  8703.  1    speaker output enabled
  8704.  2    reserved
  8705.  3    enable status-change interrupt routing (to INTA# for socket A, INTB#
  8706.       for socket B)
  8707.  4    function interrupt routed to corresponding PCI interrupt pin
  8708.  5    PCI interrupts enabled
  8709.  6    ZOOM video mode enabled
  8710.  7    Ring Indicator enabled on IRQ15/RI_OUT pin
  8711. SeeAlso: #0802,#0810
  8712.  
  8713. Bitfields for TI PCI1130 Device Control Register:
  8714. Bit(s)    Description    (Table 0810)
  8715.  0    reserved (0)
  8716.  2-1    interrupt mode enable
  8717.     00 no interrupt
  8718.     01 ISA mode (direct IRQ routing)
  8719.     10 serialized interrupt mode
  8720.     11 reserved
  8721.  4-3    reserved
  8722.  5    3volt Socket Capable force bit
  8723.  6    5volt Socket Capable force bit
  8724.  7    reserved
  8725. SeeAlso: #0802,#0809
  8726.  
  8727. Bitfields for PCI Configuration I/O base and limit:
  8728. Bit(s)    Description    (Table 0811)
  8729.  3-0    (read-only) address decoding type
  8730.     0000 16-bit
  8731.     0001 32-bit
  8732.     other reserved
  8733.  7-4    bits 15-12 of I/O address range
  8734. SeeAlso: #0790,#0812
  8735.  
  8736. Bitfields for PCI Configuration memory base and limit:
  8737. Bit(s)    Description    (Table 0812)
  8738.  3-0    address decode type
  8739.     0000 32-bit address decoder
  8740.     0001 64-bit address decoder
  8741.     other reserved
  8742.  15-4    bits 31-20 of memory address range
  8743. SeeAlso: #0790,#0811
  8744.  
  8745. Format of PCI Configuration Data for VLSI VL82C591 Host/PCI bridge:
  8746. Offset    Size    Description    (Table 0813)
  8747.  00h 64 BYTEs    header (see #0790)
  8748.         (device ID 0005h)
  8749.  40h    BYTE    bus number
  8750.  41h    BYTE    subordinate bus number
  8751.  42h    WORD    reserved
  8752.  44h  4 DWORDs    reserved
  8753.  54h  2 BYTEs    device-specific configuration registers
  8754.  56h    WORD    reserved
  8755.  58h  2 BYTEs    device-specific configuration registers
  8756.  5Ah    WORD    reserved
  8757.  5Ch  5 BYTEs    device-specific configuration registers
  8758.     ...
  8759.  FFh    BYTE    device-specific configuration register
  8760. SeeAlso: #0790,#0649,#0814
  8761.  
  8762. Format of PCI Configuration data for VLSI VL82C593 PCI/ISA bridge:
  8763. Offset    Size    Description    (Table 0814)
  8764.  00h 64 BYTEs    header (see #0790)
  8765.         (device ID 0006h)
  8766.  40h  4 DWORDs    reserved
  8767.  50h 11 BYTEs    device-specific configuration registers
  8768.  5Bh    BYTE    reserved
  8769.  5Ch 25 BYTEs    device-specific configuration registers
  8770.  75h 138 BYTEs    reserved
  8771.  FFh    BYTE    device-specific configuration register
  8772. SeeAlso: #0790,#0813
  8773.  
  8774. Format of PCI Configuration data for Intel 82434 Cache/DRAM Controller:
  8775. Offset    Size    Description    (Table 0815)
  8776.  00h 64 BYTEs    header (see #0790)
  8777.         (vendor ID 8086h, device ID 04A3h)
  8778.         (revision numbers < 10h vary slightly from revision 10h)
  8779.  40h 16 BYTEs    unused (hard-wired to 00h)
  8780.  44h    BYTE    ??? (AMI BIOS writes 00h)
  8781.  45h    BYTE    ??? (AMI BIOS writes 00h)
  8782.  50h    BYTE    secondary (L2) cache control???
  8783.         bit 2: enable L2 cache
  8784.         bits 1-0: ??? (set according to external bus speed)
  8785.  51h    BYTE    deturbo frequency control register
  8786.         when deturbo mode is selected (see PORT 0CF9h), the chipset
  8787.           places a hold on the memory bus for a fraction of the
  8788.           time inversely proportional to the value in this register
  8789.           (i.e. C0h = 1/4, 80h = 1/2, 40h = 3/4, 20h = 7/8, etc.)
  8790.           (only bits 7-6 writable, bits 5-0 hardwired to 0)
  8791.  52h    BYTE    ???cache control???
  8792.         bits 6-7: ???
  8793.         bits 4-3: ???
  8794.         bit 1: ???
  8795.         bit 0: ???
  8796.  53h    BYTE    CPU control???
  8797.         bit 3: ???
  8798.         bit 1: enable CPU-to-PCI posted writes
  8799.         bit 0: enable CPU-to-memory posted writes
  8800.  54h    BYTE    PCI control
  8801.         bit 0: enable PCI-to-memory posted writes
  8802.         bit 1: enable PCI burst
  8803.         bit 2: ???
  8804.  55h  2 BYTEs    ???
  8805.  57h    BYTE    DRAM Control???
  8806.         bit 0: ???
  8807.         bit 2: ???
  8808.         bit 5: disable parity detection mode???
  8809.  58h    BYTE    DRAM Timing??? (see also #0855)
  8810.         bit 0: ???
  8811.  59h  7    BYTEs    Programmable Attribute Map registers 0-6 (see #0856)
  8812.  60h  8    BYTEs    DRAM Row Boundary registers 0-7
  8813.         (chip revisions numbered < 10h only support six rows of DRAM)
  8814.         each register N indicates the amount of cumulative amount of
  8815.           memory in SIMM banks 0-N, in multiples of 1M; offset 67h
  8816.           (65h on pre-revision 10h 82434's) contains the total amount
  8817.           of memory installed in the system
  8818.  68h    BYTE    DRAM Row Type???
  8819.         (each bit indicates parity/nonparity ???)
  8820.  69h  3 BYTEs    ???
  8821.  6Ch    DWORD    unused??? (apparently hardwired to 00000000h)
  8822.  70h    BYTE    ???Multi-Transaction Timer???
  8823.         bits 1-0: ???
  8824.  71h    BYTE    ???
  8825.         bit 3: memory has parity???
  8826.  72h    BYTE    System Management RAM control (see also #0860)
  8827.         bits 2-0: SMRAM memory address???
  8828.         bit 5:    map SMM-mode memory (64K) into address space when bits
  8829.             2-0 = 010 (default 3000h:0000h; can be changed by
  8830.             first SMM event)
  8831.  73h  5 BYTEs    ???
  8832.  78h    WORD    ???
  8833.         bits 7-4: bottom of ISA memory hole in MB???
  8834.         bits 14-12: size of ISA hole in MB (less 1)???
  8835.         bit 15: enable ISA hole???
  8836.  7Ah  2 BYTEs    ???
  8837.  7Ch    DWORD    ???
  8838.         bits 0-3: ???
  8839.         bit 9: ???
  8840.         bit 13: byte merging enabled
  8841.         bit 29: ???
  8842.         bit 31: ???
  8843.  80h 128 BYTEs    unused???
  8844. Note:    the 82434 is part of the Intel Neptune chipset
  8845. SeeAlso: #0817,#0836
  8846.  
  8847. Format of PCI Configuration data for Intel 82424 Cache Controller:
  8848. Offset    Size    Description    (Table 0816)
  8849.  00h 64 BYTEs    header (see #0790)
  8850.         (vendor ID 8086h, device ID 0483h)
  8851.  40h    BYTE    bus number
  8852.  41h    BYTE    subordinate bus number
  8853.  42h    BYTE    disconnect timer
  8854.  50h    BYTE    host CPU selection
  8855.  51h    BYTE    deturbo frequency control
  8856.         when deturbo mode is selected (see PORT 0CF9h), the chipset
  8857.           places a hold on the memory bus for a fraction of the
  8858.           time inversely proportional to the value in this register
  8859.           (i.e. C0h = 1/4, 80h = 1/2, 40h = 3/4, 20h = 7/8, etc.)
  8860.  52h    BYTE    secondary cache control
  8861.  53h    BYTE    write buffer control
  8862.  54h    BYTE    PCI features control
  8863.  55h    BYTE    DRAM Operation Mode Select
  8864.  56h    BYTE    System Exception Handling
  8865.  57h    BYTE    SMM Control Register
  8866.  58h    BYTE    reserved
  8867.  59h  7    BYTEs    Programmable Attribute Map registers 0-6 (see also #0856)
  8868.  60h  4 BYTEs    DRAM Row Boundary registers 0-3
  8869.         each register N indicates amount of memory in rows 0-N (each
  8870.           row is 64 bits wide)
  8871.         boundary register 3 (offset 63h) contains the total system
  8872.           memory, which may not exceed 128M
  8873.  64h  4 BYTEs    unused???
  8874.  68h    WORD    Memory Hole-0
  8875.  6Ah    WORD    Memory Hole-1
  8876. Note:    the above field names are those given by EduWARE's PCI Configuration
  8877.       Manager v1.2
  8878. SeeAlso: #0815,#0836,#0846
  8879.  
  8880. Format of PCI Configuration data for Intel 82378 and 82379 ISA Bridges:
  8881. Offset    Size    Description    (Table 0817)
  8882.  00h 64 BYTEs    header (see #0790)
  8883.         (vendor ID 8086h, device ID 0484h)
  8884.         (revision ID:
  8885.             bits 7-4: reserved
  8886.             bits 3-0: revision
  8887.             0011 82378ZB A0-step
  8888.             1000 82379AB A0-step)
  8889.  40h    BYTE    PCI Control (see #0818)
  8890.  41h    BYTE    PCI Arbiter Control (see #0819)
  8891.  42h    BYTE    PCI Arbiter Priority Control (see #0820)
  8892.  43h    BYTE    (82378ZB) PCI Arbiter Priority Control Extension Register
  8893.         bit 0: bank 3 fixed priority mode select (see also #0820)
  8894.             =0 REQ2# has higher priority
  8895.             =1 REQ3# has higher priority
  8896.  44h    BYTE    MEMCS# Control (see #0821)
  8897.  45h    BYTE    MEMCS# Bottom of Hole (address bits 23-16)
  8898.  46h    BYTE    MEMCS# Top of Hole (address bits 23-16)
  8899.  47h    BYTE    MEMCS# Top of Memory
  8900.         (address bits 28-21 == size in 2M increments, less 1)
  8901.  48h    BYTE    ISA Address Decoder Control (see #0822)
  8902.  49h    BYTE    ISA Address Decoder ROM Block Enable (see #0823)
  8903.  4Ah    BYTE    ISA Address Decoder Bottom of Hole (address bits 23-16)
  8904.  4Bh    BYTE    ISA Address Decoder Top of Hole (address bits 23-16)
  8905.  4Ch    BYTE    ISA Controller Recovery Time (see #0840)
  8906.  4Dh    BYTE    ISA Clock Divisor (see #0824)
  8907.  4Eh    BYTE    Utility Bus Chip Select Enable A (see #0825)
  8908.  4Fh    BYTE    Utility Bus Chip Select Enable B (see #0826)
  8909.  50h  4 BYTEs    reserved
  8910.  54h    BYTE    MEMCS# Attribute Register #1 (see #0827)
  8911.         attributes for 16K blocks from C0000h-CFFFFh
  8912.  55h    BYTE    MEMCS# Attribute Register #2 (see #0827)
  8913.         attributes for 16K blocks from D0000h-DFFFFh
  8914.  56h    BYTE    MEMCS# Attribute Register #3 (see #0827)
  8915.         attributes for 16K blocks from E0000h-EFFFFh
  8916.  57h    BYTE    (82378) Scatter/Gather Relocation Base Adress (see #0828)
  8917.         (82379AB) reserved
  8918.  58h  8 BYTEs    reserved
  8919.  60h    BYTE    (82378ZB) IRQ0# Route Control (see #0829)
  8920.  61h    BYTE    (82378ZB) IRQ1# Route Control (see #0829)
  8921.  62h    BYTE    (82378ZB) IRQ2# Route Control (see #0829)
  8922.  63h    BYTE    (82378ZB) IRQ3# Route Control (see #0829)
  8923.  64h 12 BYTEs    reserved
  8924.  70h    BYTE    (82378) reserved
  8925.         (82379AB, write-only) PIC/APIC Configuration Control
  8926.               (see #0830)
  8927.  71h    BYTE    (82378) reserved
  8928.         (82379AB, write-only) APIC Base Address Relocation
  8929.           (see #0831,MEM FEC00000h)
  8930.  72h 14 BYTEs    reserved
  8931.  80h    WORD    BIOS timer base address (see PORT 0078h)
  8932.         bits 15-2 are bits 15-2 of BIOS timer port address
  8933.         bit 1: reserved (0)
  8934.         bit 0: timer enabled (if disabled, other bits ignored)
  8935.  82h 30 BYTEs    unused???
  8936.  A0h    BYTE    SMI Control (see #0832)
  8937.  A1h    BYTE    reserved
  8938.  A2h    WORD    SMI Enable (see #0833)
  8939.  A4h    DWORD    System Event Enable (SEE) (see #0834)
  8940.  A8h    BYTE    Fast-Off Timer (in minutes)
  8941.  A9h    BYTE    reserved
  8942.  AAh    WORD    active SMI Requests (see #0835)
  8943.  ACh    BYTE    (82378ZB) Clock Throttle STPCLK# Low Timer
  8944.         duration of STPCLK# low period in 32 microsecond units
  8945.  ADh    BYTE    reserved
  8946.  AEh    BYTE    (82378ZB) Clock Throttle STPCLK# High Timer
  8947.         duration of STPCLK# high period in 32 microsecond units
  8948.  AFh 81 BYTEs    reserved
  8949. SeeAlso: #0815,#0865,PORT 040Ah"82378ZB"
  8950.  
  8951. Bitfields for Intel 82378/82379 PCI Control:
  8952. Bit(s)    Description    (Table 0818)
  8953.  7    reserved (0)
  8954.  6    DMA Reserved Page Register Aliasing Control
  8955.     =0 alias PORT 80h-8Fh to PORT 90h-9Fh
  8956.  5    Interrupt Acknowledge Enable
  8957.     =0 ignore INTA cycles on the PCI bus, but still allow 8259 register
  8958.       access and poll-mode functions
  8959.  4-3    Subtractive Decoding Sample Point
  8960.     00 slow sample point
  8961.     01 typical
  8962.     10 fast sample point
  8963.     11 reserved
  8964.  2    PCI Posted Write Buffer Enable
  8965.  1    ISA Master Line Buffer Configuration
  8966.     =0 single-transaction mode
  8967.     =1 eight-byte mode for ISA bus master transfers
  8968.  0    DMA Line Buffer Configuration
  8969.     =0 single-transaction mode
  8970.     =1 eight-byte mode
  8971. SeeAlso: #0817,#0819
  8972.  
  8973. Bitfields for Intel 82378/82379 PCI Arbiter Control:
  8974. Bit(s)    Description    (Table 0819)
  8975.  7-5    reserveed (0)
  8976.  4-3    Master Retry Timer
  8977.     00 disabled (retries never masked)
  8978.     01 retries unmasked after 16 PCICLKs
  8979.     10 retries unmasked after 32 PCICLKs
  8980.     11 retries unmasked after 64 PCICLKs
  8981.  2    Bus Park
  8982.     =1 park CPUREQ# on PCI bus when 82378 detects PCI bus idle
  8983.  1    Bus Lock
  8984.     =0 resource lock
  8985.     =1 Bus lock
  8986.  0    Guaranteed Access Time
  8987.     =1 ISA bus masters are guaranteed 2.5 microsecond CHRDY time-out
  8988. SeeAlso: #0817,#0818
  8989.  
  8990. Bitfields for Intel 82378/82379 PCI Arbiter Priority Control:
  8991. Bit(s)    Description    (Table 0820)
  8992.  7    bank 3 rotate control
  8993.  6    bank 2 rotate control
  8994.  5    bank 1 rotate control
  8995.  4    bank 0 rotate control
  8996.  3    bank 2 fixed priority mode select B
  8997.  2    bank 2 fixed priority mode select A
  8998.  1    bank 1 fixed priority mode select
  8999.  0    bank 0 fixed priority mode select
  9000. Note:    if both 'rotate' and 'fixed' bits are set for a given bank,
  9001.       that bank will be in rotating-priority mode
  9002. SeeAlso: #0817,#0819
  9003.  
  9004. Bitfields for Intel 82378/82379 MEMCS# Control Register:
  9005. Bit(s)    Description    (Table 0821)
  9006.  7-5    reserved (0)
  9007.  4    MEMCS# Master Enable
  9008.  3    write enable for 0F0000h-0FFFFFh
  9009.  2    read enable for 0F0000h-0FFFFFh
  9010.  1    write enable for 080000h-09FFFFh
  9011.  0    read enable for 080000h-09FFFFh
  9012. SeeAlso: #0817
  9013.  
  9014. Bitfields for Intel 82378/82379 ISA Address Decoder Control Register:
  9015. Bit(s)    Description    (Table 0822)
  9016.  7-4    ISA memory cycle forwarding to PCI
  9017.     0000-1111 = 1M-16M top of ISA memory; any accesses above programmed
  9018.           limit are forwarded to PCI bus
  9019.  3-0    ISA/DMA memory cycle to PCI bus enables
  9020.     bit 3: 896K-960K (E000h-EFFFh)
  9021.     bit 2: 640K-768K (A000h-BFFFh)
  9022.     bit 1: 512K-640K (8000h-9FFFh)
  9023.     bit 0: 0K-512K     (0000h-7FFFh)
  9024. SeeAlso: #0817,#0823
  9025.  
  9026. Bitfields for Intel 82378/82379 ISA Address Decoder ROM Block Enable:
  9027. Bit(s)    Description    (Table 0823)
  9028.  7    enable 880K-896K (EC00h-EFFFh)
  9029.  6    enable 864K-880K (E800h-EBFFh)
  9030.  5    enable 848K-864K (E400h-E7FFh)
  9031.  4    enable 832K-848K (E000h-E3FFh)
  9032.  3    enable 816K-832K (DC00h-DFFFh)
  9033.  2    enabel 800K-816K (D800h-DBFFh)
  9034.  1    enable 784K-800K (D400h-D7FFh)
  9035.  0    enable 768K-784K (D000h-D3FFh)
  9036. Note:    ISA accesses within any enabled ranges are forwarded to the PCI bus
  9037. SeeAlso: #0817,#0822
  9038.  
  9039. Bitfields for Intel 82378/82379 ISA Clock Divisor Register:
  9040. Bit(s)    Description    (Table 0824)
  9041.  7    reserved (0)
  9042.  6    enable positive decode of upper 64K BIOS at 000F0000h-000FFFFFh,
  9043.       FFEF0000h-FFEFFFFFh, and FFFF0000h-FFFFFFFFh
  9044.  5    coprocessor error enable
  9045.     =1 FERR# is driven onto IRQ13
  9046.  4    IRQ12/Mouse Function Enable
  9047.     =0 standard IRQ12
  9048.     =1 mouse
  9049.  3    RSTDRV enable
  9050.     =1 assert RSTDRV until this bit cleared (for use in changing ISA bus
  9051.       speed)
  9052.  2-0    PCICLK-to-ISA SYSCLK divisor
  9053.     000    4
  9054.     001    3
  9055.     other    reserved
  9056. SeeAlso: #0817,#0822
  9057.  
  9058. Bitfields for Intel 82378/82379 Utility Bus Chip Select A Register:
  9059. Bit(s)    Description    (Table 0825)
  9060.  7    extended BIOS enable (decode accesses to FFF80000h-FFFDFFFFh)
  9061.  6    lower BIOS enable (decode accesses to E0000h-EFFFFh,
  9062.       FFEE0000h-FFEEFFFFh, and FFFE0000h-FFFEFFFFh)
  9063.  5    (82378ZB) floppy disk primary/secondary address select
  9064.     =1 use secondary address range
  9065.  4    (82378ZB) IDE Decode enable
  9066.  3,2    floppy disk address locations enable
  9067.  1    keyboard controller address location enable
  9068.     enables I/O addresses 60h,62h,64h,66h (82378ZB) or 60h/64h (82379AB)
  9069.  0    RTC address location enabled
  9070.     =1 enable decode of I/O ports 70h-77h
  9071. SeeAlso: #0817,#0842,#0826
  9072.  
  9073. Bitfields for Intel 82378ZB/82379 Utility Bus Chip Select B Register:
  9074. Bit(s)    Description    (Table 0826)
  9075.  7    configuration RAM decode enable
  9076.     =1 permit write accesses to I/O port 0C00h and r/w to ports 08xxh
  9077.  6    enable PORT 0092h
  9078.  5-4    parallel port enable
  9079.     00 LPT1 (ports 03BCh-03BFh)
  9080.     01 LPT2 (ports 0378h-037Fh)
  9081.     10 LPT3 (ports 0278h-027Fh)
  9082.     11 disabled
  9083.  3-2    serial port B enable
  9084.     00 COM1 (03F8h-03FFh)
  9085.     01 COM2 (02F8h-02FFh)
  9086.     10 reserved
  9087.     11 port B disabled
  9088.  1-0    serial port A enable
  9089.     00 COM1 (03F8h-03FFh)
  9090.     01 COM2 (02F8h-02FFh)
  9091.     10 reserved
  9092.     11 port A disabled
  9093. Note:    if both serial ports are set to the same address, port B is disabled
  9094. SeeAlso: #0817,#0825,PORT 0092h
  9095.  
  9096. Bitfields for Intel 82378/82379 MEMCS# Attribute Register 1/2/3:
  9097. Bit(s)    Description    (Table 0827)
  9098.  7    write-enable xC000h-xFFFFh expansion ROM
  9099.  6    read-enable xC000h-xFFFFh expansion ROM
  9100.  5    write-enable x8000h-xBFFFh expansion ROM
  9101.  4    read-enable x8000h-xBFFFh expansion ROM
  9102.  3    write-enable x4000h-x7FFFh expansion ROM
  9103.  2    read-enable x4000h-x7FFFh expansion ROM
  9104.  1    write-enable x0000h-x3FFFh expansion ROM
  9105.  0    read-enable x0000h-x3FFFh expansion ROM
  9106. Note:    x = C/D/E depending on the attribute register
  9107. SeeAlso: #0817
  9108.  
  9109. Bitfields for Intel 82378ZB Scatter Gather Relocation Base Address:
  9110. Bit(s)    Description    (Table 0828)
  9111.  (no details in Intel documentation)
  9112. SeeAlso: #0817,#0827,#0829,PORT 040Ah"82378ZB"
  9113.  
  9114. Bitfields for Intel 82378/82379 PCI IRQ Route Control Register:
  9115. Bit(s)    Description    (Table 0829)
  9116.  7    disable IRQ routing
  9117.  6-4    reserved (0)
  9118.  3-0    ISA IRQ number to which to route the PCI IRQ
  9119. Note:    IRQs 0-2, 8, and 13 are reserved
  9120. SeeAlso: #0817,#0865
  9121.  
  9122. Bitfields for Intel 82379AB PIC/APIC Configuration Control Register:
  9123. Bit(s)    Description    (Table 0830)
  9124.  7-2    reserved
  9125.  1    SMI Routing Control
  9126.     =1 SMI via APIC
  9127.     =0 SMI via SMI# signal
  9128.  0    INT Routing Control
  9129.     =1 INT disabled (requires that APIC be enabled)
  9130.     =0 INT enabled
  9131. SeeAlso: #0817,#0831
  9132.  
  9133. Bitfields for Intel 82379AB/82371 APIC Base Address Relocation:
  9134. Bit(s)    Description    (Table 0831)
  9135.  7    reserved
  9136.  6    (82379AB) reserved
  9137.  6    (82371) A12 mask
  9138.     =1 ignore address bit 12 in APIC address
  9139.  5-0    bits 15-10 of APIC memory address (ORed with FEC00000h to form base
  9140.       address)
  9141. SeeAlso: #0817,#0865,#0830,MEM FEC00000h
  9142.  
  9143. Bitfields for Intel 82378/82379 SMI Control Register:
  9144. Bit(s)    Description    (Table 0832)
  9145.  7    reserved
  9146.  6    (82378) reserved
  9147.     (82379) require Stop Grant bus cycle before asserting STPCLK#
  9148.  5-4    reserved
  9149.  3    Fast-Off Timer freeze
  9150.  2    STPCLK# scaling enable
  9151.     =1 enable Clock Throttle bytes in PCI configuration space
  9152.  1    STPCLK# signal enable
  9153.     =1 assert STPCLK# on read from PORT 00B2h
  9154.  0    SMI# Gate
  9155.     =1 enable SMI# on system management interrupt
  9156. Notes:    bit 1 is cleared either with an explicit write of 0 here, or by any
  9157.       write to PORT 00B2h
  9158.     bit 0 does not affect the recording of SMI events, so a pending SMI
  9159.       will cause an immediate SMI# when the bit is set
  9160. SeeAlso: #0817,#0833,#0834,#0874,PORT 00B2h
  9161.  
  9162. Bitfields for Intel 82371/82378/82379 SMI Enable Register:
  9163. Bit(s)    Description    (Table 0833)
  9164.  15-9    reserved
  9165.  8    (82371SB only) Legacy USB SMI enable
  9166.  7    APMC Write SMI enable
  9167.     =1 generate SMI on write to PORT 00B2h
  9168.  6    EXTSMI# SMI enable
  9169.  5    Fast-Off Timer SMI enable
  9170.  4    IRQ12 (PS/2 mouse) SMI enable
  9171.  3    IRQ8 (RTC alarm) SMI enable
  9172.  2    IRQ4 (COM1/COM3) SMI enable
  9173.  1    IRQ3 (COM2/COM4) SMI enable
  9174.  0    IRQ1 (keyboard) SMI enable
  9175. SeeAlso: #0817,#0832,#0834,#0865,PORT 00B2h
  9176.  
  9177. Bitfields for Intel 82371/82378/82379 System Event Enable Register:
  9178. Bit(s)    Description    (Table 0834)
  9179.  31    Fast-Off SMI enable (system and break events)
  9180.  30    (82379 only) Fast-Off Interrupt Enable (break events only)
  9181.  30    (82371 only) INTR enable (break events only)
  9182.  29    Fast-Off NMI enable (system and break events)
  9183.  28    (82371SB only) Fast-Off APIC enable (break events only)
  9184.  27    (82379 only) Fast-Off COM enable (system events only)
  9185.  26    (82379 only) Fast-Off LPT enable (system events only)
  9186.  25    (82379 only) Fast-Off Drive enable (system events only)
  9187.  24    (82379 only) Fast-Off DMA enable (system events only)
  9188.  23-16    reserved
  9189.  15-3    Fast-Off IRQ (15-3) enable (system and break events)
  9190.  2    reserved
  9191.  1-0    Fast-Off IRQ (1-0) enable (system and break events)
  9192. Note:    any enabled system event restarts the Fast-Off Timer, thus preventing
  9193.       a Fast-Off powerdown; any enabled break event awakens the system from
  9194.       powerdown
  9195. SeeAlso: #0817,#0832,#0833,#0835,#0865
  9196.  
  9197. Bitfields for Intel 82371/82378/82379 SMI Request Register:
  9198. Bit(s)    Description    (Table 0835)
  9199.  15-9    reserved
  9200.  8    (82371SB only) Legacy USB SMI status
  9201.  7    APM SMI Status (write to PORT 00B2h triggered SMI)
  9202.  6    EXTSMI# SMI Status (EXTSMI# line triggered SMI)
  9203.  5    Fast-Off Timer expired
  9204.  4    IRQ12 triggered SMI
  9205.  3    IRQ8 triggered SMI
  9206.  2    IRQ4 triggered SMI
  9207.  1    IRQ3 triggered SMI
  9208.  0    IRQ1 triggered SMI
  9209. Note:    software must explicitly reset the appropriate bits
  9210. SeeAlso: #0817,#0834,#0865
  9211.  
  9212. Format of PCI Configuration data for Intel 82425EX PSC:
  9213. Offset    Size    Description    (Table 0836)
  9214.  00h 64 BYTEs    header (see #0790)
  9215.         (vendor ID 8086h, device ID 0486h)
  9216.  40h    BYTE    PCI control register (see #0837)
  9217.  41h  3 BYTEs    ???
  9218.  44h    BYTE    host device control register (see #0838)
  9219.  45h  3 BYTEs    ???
  9220.  48h    WORD    PCI local-bus IDE control register (see #0839)
  9221.  4Ah  2 BYTEs    ???
  9222.  4Ch    BYTE    ISA I/O recovery timer register (see #0840)
  9223.  4Dh    BYTE    part revision register (see #0841)
  9224.  4Eh    BYTE    X-bus Chip Select A register (see #0842)
  9225.  4Fh    BYTE    X-bus Chip Select B register???
  9226.  50h    BYTE    host select register
  9227.  51h    BYTE    deturbo frequency control register
  9228.         when deturbo mode is selected (see PORT 0CF9h), the chipset
  9229.           places a hold on the memory bus for a fraction of the
  9230.           time inversely proportional to the value in this register
  9231.           (i.e. C0h = 1/4, 80h = 1/2, 40h = 3/4, 20h = 7/8, etc.)
  9232.  52h    WORD    secondary (L2) cache control register
  9233.  54h  2 BYTEs    ???
  9234.  56h    WORD    DRAM control register
  9235.  58h    BYTE    ???
  9236.  59h  7 BYTEs    Programmable Attribute Map (PAM) registers 0-6 (see also #0856)
  9237.  60h  5 BYTEs    DRAM row boundary registers 0-4
  9238.         each register N indicates amount of memory in rows 0-N (each
  9239.           row is 64 bits wide); the fifth row of memory (if
  9240.           implemented) must contain either 8M or 16M, depending on
  9241.           system configuration
  9242.         boundary register 4 (offset 64h) contains the total system
  9243.           memory, which may not exceed 128M
  9244.  65h    BYTE    ???
  9245.  66h    BYTE    PIRQ route control register 0
  9246.  67h    BYTE    PIRQ route control register 1
  9247.  68h    BYTE    DRAM memory hole register
  9248.  69h    BYTE    top of memory
  9249.  6Ah  6 BYTEs    ???
  9250.  70h    BYTE    SMRAM control register
  9251.  71h 47 BYTEs    unused???
  9252.  A0h    BYTE    SMI control register
  9253.  A1h    BYTE    ???
  9254.  A2h    WORD    SMI enable register
  9255.  A4h    DWORD    system event enable
  9256.  A8h    BYTE    fast off timer register
  9257.  A9h    BYTE    ???
  9258.  AAh    WORD    SMI request register
  9259.  ACh    BYTE    clock throttle STPCLK# low timer
  9260.  ADh    BYTE    unused???
  9261.  AEh    BYTE    clock throttle STPCLK# high timer
  9262.  AFh    BYTE    ???
  9263.  B0h 80 BYTEs    unused???
  9264. SeeAlso: #0790,#0816,#0815,#0846,#0865
  9265.  
  9266. Bitfields for Intel 82425EX PCI control register:
  9267. Bit(s)    Description    (Table 0837)
  9268.  0    CPU-to-PCI byte merging
  9269.  1    CPU-to-PCI bursting enable
  9270.  2    PCI posted-write buffer enable
  9271.  4-3    subtractive decode sampling point
  9272.     00 slow
  9273.     01 typical
  9274.     10 fast
  9275.     11 reserved
  9276.  5    DRAM parity error enable
  9277.  6    target abort error enable
  9278.  7    reserved
  9279. SeeAlso: #0836,#0838,#0839,#0840
  9280.  
  9281. Bitfields for Intel 82425EX host device control register:
  9282. Bit(s)    Description    (Table 0838)
  9283.  0    HRDY# maximum signal sampling point
  9284.     0 slow timing
  9285.     1 fast timing
  9286.  1    HDEV# signal sampling point
  9287.     0 slow timing
  9288.     1 fast timing
  9289.  2    host device present
  9290.  7-3    reserved
  9291. SeeAlso: #0836,#0837
  9292.  
  9293. Bitfields for Intel 82425EX local-bus IDE control register:
  9294. Bit(s)    Description    (Table 0839)
  9295.  1-0    primary/secondary PCI IDE enable
  9296.     00 IDE disabled
  9297.     01 primary (ports 01F0h-01F7h,03F6,03F7h)
  9298.     10 secondary (ports 0170h-017Fh,0376h,0377h)
  9299.     11 reserved
  9300.  3-2    fast timing bank drive select 1
  9301.     bit 2 = drive 0 enabled
  9302.     bit 3 = drive 1 enabled
  9303.  5-4    IORDY sample point Enable Drive Select
  9304.     bit 4 = drive 0 enabled
  9305.     bit 5 = drive 1 enabled
  9306.  7-6    reserved
  9307.  9-8    IORDY sample point
  9308.     00 6 clocks
  9309.     01 5 clocks
  9310.     10 4 clocks
  9311.     11 3 clocks
  9312.  12-10    recover time (000 = 8 PCI clocks, 001 = 7, ..., 101 = 3, 110/111 = 3)
  9313.  15-13    reserved
  9314. SeeAlso: #0836,#0837
  9315.  
  9316. Bitfields for Intel chipset ISA I/O recovery timer register:
  9317. Bit(s)    Description    (Table 0840)
  9318.  1-0    16-bit I/O recovery time
  9319.     00 = 4 SYSCLKs
  9320.     01-11 = 1-3 SYSCLKs
  9321.  2    16-bit I/O recovery enable
  9322.  5-3    8-bit I/O recovery time
  9323.     000 = 8 SYSCLKs
  9324.     001-110 = 1-7 SYSCLKs
  9325.  6    8-bit I/O recovery enable
  9326.  7    (82425EX/82371) DMA reserved page register aliasing disable
  9327.     =0 ports 0090h-009Fh alias ports 0080h-008Fh
  9328.     =1 ports 0090h-009Fh forwarded to ISA bus
  9329. SeeAlso: #0817,#0836,#0837,#0865
  9330.  
  9331. Bitfields for Intel 82425EX part revision register:
  9332. Bit(s)    Description    (Table 0841)
  9333.  7-5    fabrication house identifier (read-only)
  9334.  4    E0000h-EFFFFh ISA-to-main-memory forwarding enabled
  9335.  3-0    revision ID (read-only)
  9336. SeeAlso: #0836,#0842
  9337.  
  9338. Bitfields for Intel 82425EX/82371 X-bus Chip Select A register:
  9339. Bit(s)    Description    (Table 0842)
  9340.  7    extended BIOS enabled at FFF80000h-FFFDFFFFh
  9341.  6    lower (E000h) BIOS enabled
  9342.  5    trigger IRQ13 on FERR#
  9343.  4    IRQ12 mouse function enabled
  9344.  3    reserved (0)
  9345.  2    BIOS memory write protect
  9346.  1    keyboard controller addresses (60h,62h,64h,66h) enabled
  9347.  0    RTC addresses (70h-77h) enabled
  9348. SeeAlso: #0836,#0865,#0841
  9349.  
  9350. Format of PCI Configuration Data for Intel 82439HX:
  9351. Offset    Size    Description    (Table 0843)
  9352.  00h 64 BYTEs    header (see #0790)
  9353.         (vender ID 8086h, device ID 1250h)
  9354.         (revision ID 00h = A0 stepping)
  9355.  40h 16 BYTEs    reserved
  9356.  50h    BYTE    PCI Control (see #0848)
  9357.  51h    BYTE    reserved
  9358.  52h    BYTE    cache control (see #0850)
  9359.  53h  3 BYTEs    reserved
  9360.  56h    BYTE    DRAM extended control (see #0853)
  9361.  57h    BYTE    DRAM control (see #0854)
  9362.  58h    BYTE    DRAM timing (see #0855)
  9363.  59h  7 BYTEs    Programmable Attribute Map registers 0-6 (see #0856)
  9364.  60h  8 BYTEs    DRAM Row Boundary registers 0-7
  9365.         each register N indicates cumulative amount of memory in rows
  9366.           0-N (each 64 bits wide), in 4M units
  9367.  68h    BYTE    DRAM Row Type (see #0857)
  9368.         bits 0-7 indicate whether each row 0-7 contains EDO DRAM
  9369.           instead of page-mode DRAM
  9370.  69h    BYTE    ???
  9371.  6Ah  8 BYTEs    reserved
  9372.  72h    BYTE    System Management RAM control (see #0860)
  9373.  73h 29 BYTEs    reserved
  9374.  90h    BYTE    Error Command (see #0863)
  9375.  91h    BYTE    Error Status (see #0864) (read-only)
  9376.  92h    BYTE    Error Syndrome (read-only)
  9377.         latest non-zero ECC error syndrome
  9378.  93h 109 BYTEs    reserved
  9379. SeeAlso: #0846,#0879
  9380.  
  9381. Format of PCI Configuration Data for Intel 82437MX:
  9382. Offset    Size    Description    (Table 0844)
  9383.  00h 64 BYTEs    header (see #0790)
  9384.         (vendor ID 8086h, device ID 1235h)
  9385.  40h 16 BYTEs    reserved
  9386.  50h    BYTE    PCI Control (see #0849)
  9387.  51h    BYTE    reserved
  9388.  52h    BYTE    cache control (see #0850)
  9389.  53h  4 BYTEs    reserved
  9390.  57h    BYTE    DRAM Control (see #0854)
  9391.  58h    BYTE    DRAM timing (see #0855)
  9392.  59h  7 BYTEs    Programmable Attribute Map registers 0-6 (see #0856)
  9393.  60h  4 BYTEs    DRAM Row Boundary Registers 0-3
  9394.         each register N indicates cumulative amount of memory in rows
  9395.           0-N, in 4M units (each row is 64 bits wide)
  9396.  64h  4 BYTEs    reserved
  9397.  68h    BYTE    DRAM Row Type (see #0858)
  9398.  69h  9 BYTEs    reserved
  9399.  72h    BYTE    System Management RAM control (see #0860)
  9400.  73h 141 BYTEs    reserved
  9401. SeeAlso: #0846,#0845
  9402.  
  9403. Format of PCI Configuration Data for Intel 82437FX:
  9404. Offset    Size    Description    (Table 0845)
  9405.  00h 64 BYTEs    header (see #0790)
  9406.         (vendor ID 8086h, device ID 0122h) (see #0785)
  9407.  40h 16 BYTEs    reserved
  9408.  50h    BYTE    PCI Control (see #0849)
  9409.  51h    BYTE    reserved
  9410.  52h    BYTE    cache control (see #0850)
  9411.  53h  4 BYTEs    reserved
  9412.  57h    BYTE    DRAM Control (see #0854)
  9413.  58h    BYTE    DRAM timing (see #0855)
  9414.  59h  7 BYTEs    Programmable Attribute Map registers 0-6 (see #0856)
  9415.  60h  5 BYTEs    DRAM Row Boundary Registers 0-4
  9416.         each register N indicates cumulative amount of memory in rows
  9417.           0-N, in 4M units (each row is 64 bits wide)
  9418.  65h  3 BYTEs    reserved
  9419.  68h    BYTE    DRAM Row Type (see #0858)
  9420.  69h  9 BYTEs    reserved
  9421.  72h    BYTE    System Management RAM control (see #0860)
  9422.  73h 141 BYTEs    reserved
  9423. SeeAlso: #0844,#0846
  9424.  
  9425. Format of PCI Configuration Data for Intel 82437VX:
  9426. Offset    Size    Description    (Table 0846)
  9427.  00h 64 BYTEs    header (see #0790)
  9428.         (vendor ID 8086h, device ID 7030h)
  9429.         (revision ID 00h = A0 stepping)
  9430.  40h 15 BYTEs    reserved
  9431.  4Fh    BYTE    arbitration control (see #0847)
  9432.  50h    BYTE    PCI Control (see #0848)
  9433.  51h    BYTE    reserved
  9434.  52h    BYTE    cache control (see #0850)
  9435.  53h    BYTE    cache control extensions (see #0851)
  9436.  54h    WORD    SDRAM control (see #0852)
  9437.  55h    BYTE    reserved
  9438.  56h    BYTE    DRAM extended control (see #0853)
  9439.  57h    BYTE    DRAM control (see #0854)
  9440.  58h    BYTE    DRAM timing (see #0855)
  9441.  59h  7 BYTEs    Programmable Attribute Map registers 0-6 (see #0856)
  9442.  60h  5 BYTEs    DRAM Row Boundary registers 0-4
  9443.         each register N indicates amount of memory in rows 0-N in 4M
  9444.           units (each row is 64 bits wide); the fifth row of memory (if
  9445.           implemented) must contain either 8M or 16M, depending on
  9446.           system configuration
  9447.         boundary register 4 (offset 64h) contains the total system
  9448.           memory, which may not exceed 128M
  9449.  65h  2 BYTEs    reserved
  9450.  67h    BYTE    DRAM Row Type (high)
  9451.         defines memory type in DRAM row 4 in bits 4,0 (see #0857)
  9452.  68h    BYTE    DRAM Row Type (low) (see #0857)
  9453.  69h    BYTE    PCI TRDY timer (see #0859)
  9454.  6Ah  6 BYTEs    reserved
  9455.  70h    BYTE    Multi-Transaction Timer
  9456.         number of PCLKs guaranteed to the current agent before the
  9457.           82437 will grant the bus to another PCI agent on request
  9458.  71h    BYTE    reserved
  9459.  72h    BYTE    System Management RAM control (see #0860)
  9460.  73h    BYTE    shared memory buffer control (see #0861)
  9461.  74h    BYTE    shared memory buffer start address, in 0.5MB units
  9462.         end address is top-of-memory at offset 64h or start of an
  9463.           enabled PCI memory hole when top-of-memory is 16M
  9464.  76h  2 BYTEs    reserved
  9465.  78h    BYTE    graphics controller latency timers (see #0862)
  9466.  79h 135 BYTEs    reserved
  9467. SeeAlso: #0785,#0816,#0836,#0843,#0844
  9468.  
  9469. Bitfields for Intel 82437VX arbitration control:
  9470. Bit(s)    Description    (Table 0847)
  9471.  7    extended CPU-to-PIIX PHLDA# signalling enabled
  9472.  6-4    reserved
  9473.  3    CPU priority enable
  9474.     =1 CPU gets PCI bus after two PCI slots
  9475.     =0 CPU gets PCI bus after three PCI slots
  9476.  2-0    reserved
  9477. SeeAlso: #0846,#0848
  9478.  
  9479. Bitfields for Intel 82437VX/82439HX PCI Control register:
  9480. Bit(s)    Description    (Table 0848)
  9481.  7-4    reserved (82437VX)
  9482.  7    DRAM ECC/Parity Select (82439HX)
  9483.     =1 ECC
  9484.     =0 parity
  9485.  6    ECC TEST enable (82439HX)
  9486.  5    shutdown to port 92h (82439HX)
  9487.     =1 send 01h to PORT 0092h on Shutdown special cycle on host bus
  9488.  4    dual-processor NA# enable (82439HX)
  9489.  3    PCI Concurrency Enable
  9490.     =1 CPU can access DRAM/L2 during non-PIIX PCI master cycles
  9491.     =0 CPU kept off PCI bus during all PCI bus-master cycles
  9492.  2    SERR# Output Type (82439HX only)
  9493.     =1 SERR# is actively driven high when negated
  9494.     =0 SERR# is PCI-compatible open-drain output
  9495.  1    reserved
  9496.  0    Global TXC Enable (82439HX only)
  9497.     =1 enable new 82439HX features
  9498. SeeAlso: #0846,#0843,#0850,#0849
  9499.  
  9500. Bitfields for Intel 82437FX/82437MX PCI Control register:
  9501. Bit(s)    Description    (Table 0849)
  9502.  7-5    CPU inactivity timer (in PCI Clocks less 1)
  9503.  4    reserved
  9504.  3    enable PCI Peer Concurrency
  9505.     =1 CPU can access DRAM/L2 during non-PIIX PCI master cycles
  9506.     =0 CPU kept off PCI bus during all PCI bus-master cycles
  9507.  2    disable PCI Bursting
  9508.  1    disable PCI Streaming
  9509.  0    disable Bus Concurrency
  9510. SeeAlso: #0844,#0845,#0848
  9511.  
  9512. Bitfields for Intel 82437/82439HX cache control register:
  9513. Bit(s)    Description    (Table 0850)
  9514.  7-6    secondary cache size
  9515.     00 none
  9516.     01 256K
  9517.     10 512K
  9518.     11 reserved
  9519.  5-4    L2 RAM type
  9520.     00 pipelined burst SRAM/DRAM
  9521.     01 reserved
  9522.     10 asynchronous SRAM (82437FX/MX/VX only)
  9523.     11 two banks of pipelined burst cache
  9524.  3    NA disable
  9525.     =1 never assert NA# pin
  9526.  2    reserved (82437FX/82437MX/82437VX)
  9527.  2    Extended Cacheability Enable (82439HX)
  9528.     =1 cache up to 512M
  9529.     =0 cache only first 64M
  9530.  1    Secondary Cache Force Miss or Invalidate
  9531.     =1 force all memory accesses to bypass L2 cache
  9532.  0    First Level Cache Enable
  9533.     =1 all memory accesses made non-cacheable by CPU L1 cache
  9534. SeeAlso: #0846,#0843,#0848,#0851,#0852,#0844
  9535.  
  9536. Bitfields for Intel 82437VX cache control extensions register:
  9537. Bit(s)    Description    (Table 0851)
  9538.  7-6    reserved
  9539.  5    DRAM cache detected (read-only)
  9540.  4-0    DRAM cache refresh timer
  9541.     number of HCLKs 82437VX remains idle during DRAM cache refresh
  9542. SeeAlso: #0846,#0850
  9543.  
  9544. Bitfields for Intel 82437VX SDRAM control register:
  9545. Bit(s)    Description    (Table 0852)
  9546.  15-9    reserved
  9547.  8-6    Special SDRAM Mode Select
  9548.     000 normal mode (default)
  9549.     001 enable NOP command
  9550.     010 enable All Banks Precharge command
  9551.     011 enable Mode Register Command
  9552.     100 enable CBR Cycle
  9553.     101 reserved
  9554.     11x reserved
  9555.  5    reserved
  9556.  4    CAS# latency
  9557.     =1 latency is 2 for all SDRAM cycles
  9558.     =0 latency is 3
  9559.  3    RAS# precharge and refresh timing
  9560.     =0 slower
  9561.     =1 faster
  9562.  2-0    reserved
  9563. SeeAlso: #0846,#0850
  9564.  
  9565. Bitfields for Intel 82437VX/82439HX DRAM extended control register:
  9566. Bit(s)    Description    (Table 0853)
  9567.  7    reserved
  9568.  6    (82437VX) refresh RAS# assertion length (0=4 clocks, 1=5 clocks)
  9569.  5    (82437VX) Fast EDO Path Select
  9570.  4    Speculative Leadoff Disable
  9571.  3    (82439HX) Turn-Around Insertion Enable
  9572.     =1 insert one extra clock of turnaround time after asserting MWE#
  9573.  2-1    Memory Address Drive Strength
  9574.     82437VX:        82439HX:
  9575.         00 reserved            00 8mA
  9576.         01 10mA (default)        01 8mA/12mA (MAA/MWE#)
  9577.         10 16mA            10 12mA/8mA (MAA/MWE#)
  9578.         11 reserved            11 12mA
  9579.  0    (82437VX) DRAM Symmetry Detect Mode
  9580.     (used to force some memory address lines to fixed value for detecting
  9581.       DRAM symmetry row-by-row)
  9582.  0    (82439HX) 64MBit Mode Enable
  9583.     =1 enable support for 64M SIMMs
  9584. SeeAlso: #0846,#0843,#0854
  9585.  
  9586. Bitfields for Intel 82437/82439HX DRAM control register:
  9587. Bit(s)    Description    (Table 0854)
  9588.  7-6    DRAM Hole Enable
  9589.     00 none
  9590.     01 512K-640K
  9591.     10 15M-16M (82437FX/MX/VX only)
  9592.     11 14M-16M (82437VX only)
  9593.  5    reserved
  9594.  4    (82437MX only) refresh type during Suspend
  9595.     =1 self-refreshing DRAMs in system
  9596.     =0 CAS-before-RAS refresh
  9597.  3    EDO Detect Mode enable
  9598.     (used to detect whether memory is EDO bank-by-bank)
  9599.  2-0    DRAM refresh rate
  9600.          FX/VX/HX    MX
  9601.     000 disabled    15.6 us
  9602.     001 50 MHz    31.2 us
  9603.     010 60 MHz    62.4 us
  9604.     011 66 MHz    125 us
  9605.     100 reserved    250 us
  9606.     1xx reserved    reserved
  9607. SeeAlso: #0846,#0843,#0853,#0844
  9608.  
  9609. Bitfields for Intel 82437FX/82437MX/82437VX/82439HX DRAM timing register:
  9610. Bit(s)    Description    (Table 0855)
  9611.  7    (82437FX) reserved
  9612.  7    (82437MX) MA[11:2] buffer strength
  9613.     =0 8mA
  9614.     =1 12mA
  9615.  7    (82437VX) MA-to-RAS# Delay
  9616.     =1 one clock
  9617.     =0 two clocks
  9618.  7    (82439HX) Turbo Read Leadoff
  9619.     =1 bypass first register in DRAM data pipeline, saving one clock
  9620.     (may only be set in a cacheless configuration)
  9621.  6-5    DRAM Read Burst Timing
  9622.     00 x444 (EDO and Standard Page Mode)
  9623.     01 x333 (EDO), x444 (SPM)
  9624.     10 x222 (EDO), x333 (SPM)
  9625.     11 x322 (EDO), x333 (SPM) (82437VX only)
  9626.     11 reserved (other)
  9627.  4-3    DRAM Write Burst Timing
  9628.     00 x444
  9629.     01 x333
  9630.     10 x222
  9631.     11 reserved
  9632.  2    RAS-to-CAS Delay
  9633.     =1 two clocks
  9634.     =0 three clocks
  9635.  1-0    DRAM Leadoff Timing
  9636.     82437VX Read Leadoff  Write Leadoff  RAS# Precharge
  9637.         00        11    7        3
  9638.         01        10    6        3
  9639.         10        11    7        4
  9640.         11        10    6        4
  9641.     82437FX/MX Read Lead  Write Leadoff  RAS# Precharge
  9642.         00        8    6        3
  9643.         01        7    5        3
  9644.         10        8    6        4
  9645.         11        7    5        4
  9646.     82437VX Read Leadoff  Write Leadoff  RAS# Precharge
  9647.         00        7    6        3
  9648.         01        6    5        3
  9649.         10        7    6        4
  9650.         11        6    5        4
  9651. SeeAlso: #0846,#0854,#0844,#0845
  9652.  
  9653. Bitfields for Intel 82434/82437/82439HX Programmable Attribute Map Register:
  9654. Bit(s)    Description    (Table 0856)
  9655.  7    reserved
  9656.  6    cache enable (region 1)
  9657.  5    write enable (region 1)
  9658.  4    read enable (region 1)
  9659.  3    reserved
  9660.  2    cache enable (region 0)
  9661.  1    write enable (region 0)
  9662.  0    read enable (region 0)
  9663. Notes:    each programmable attribute map register controls two memory
  9664.       regions at the top of the first megabyte of memory
  9665.     for the Intel 82441FX, bits 6 and 2 are reserved, as cacheability is
  9666.       set using the Pentium Pro's MTRR registers (see MSR 000000FEh)
  9667.     Intel 82434/82437FX/82437MX/82437VX/82439HX/82441FX PAM
  9668.       registers/regions:
  9669.         PAM0 low: reserved [*]
  9670.         PAM0 hi:  segment F000-FFFF
  9671.         PAM1 low: segment C000-C3FF
  9672.         PAM1 hi:  segment C400-C7FF
  9673.         PAM2 low: segment C800-CBFF
  9674.         PAM2 hi:  segment CC00-CFFF
  9675.         PAM3 low: segment D000-D3FF
  9676.         PAM3 hi:  segment D400-D7FF
  9677.         PAM4 low: segment D800-DBFF
  9678.         PAM4 hi:  segment DC00-DFFF
  9679.         PAM5 low: segment E000-E3FF
  9680.         PAM5 hi:  segment E400-E7FF
  9681.         PAM6 low: segment E800-EBFF
  9682.         PAM6 hi:  segment EC00-EFFF
  9683.     [*] on the 82434 (and possibly other Intel chipsets), the low nybble of
  9684.       PAM0 controls segment 8000-9FFF
  9685. SeeAlso: #0815,#0846,#0843,#0879,#0844,#0845
  9686.  
  9687. Bitfields for Intel 82437VX DRAM Row Type register:
  9688. Bit(s)    Description    (Table 0857)
  9689.  7,3    row 3 type
  9690.  6,2    row 2 type
  9691.  5,1    row 1 type
  9692.  4,0    row 0 type
  9693.     00 SPM DRAM
  9694.     01 EDO DRAM
  9695.     10 SDRAM
  9696.     11 reserved
  9697. SeeAlso: #0846,#0856
  9698.  
  9699. Bitfields for Intel 82437FX/82437MX DRAM Row Type register:
  9700. Bit(s)    Description    (Table 0858)
  9701.  7-4    reserved
  9702.  3-0    DRAM Row N is EDO instead of page-mode DRAM
  9703. SeeAlso: #0844,#0845
  9704.  
  9705. Bitfields for Intel 82437VX PCI TRDY timer:
  9706. Bit(s)    Description    (Table 0859)
  9707.  7-3    reserved
  9708.  2-0    TRDY timeout value
  9709.     000 2 PCICLKs
  9710.     001 4 PCICLKs
  9711.     010 6 PCICLKs
  9712.     011 8 PCICLKs
  9713.     1xx reserved
  9714. SeeAlso: #0846,#0860
  9715.  
  9716. Bitfields for Intel 82437/82439HX System Management RAM control register:
  9717. Bit(s)    Description    (Table 0860)
  9718.  7    reserved
  9719.  6    SMM Space Open
  9720.     =1 make SMM DRAM visible even when not in SMM if bit 4 =0
  9721.  5    SMM Space Closed
  9722.     =1 no data references permitted to SMM DRAM even in SMM
  9723.  4    SMM Space Locked
  9724.     =1 force bits 4 and 6 to become read-only; and clear bit 6
  9725.  3    SMRAM Enable
  9726.     =1 128K DRAM are accessible for use at A000 while in SMM
  9727.  2-0    SMM Space Base Segment
  9728.     010 segment A000-BFFF
  9729.     100 segment C000-CFFF (82437MX only)
  9730.     other reserved
  9731. Note:    bits 5 and 6 must never both be set at the same time
  9732. SeeAlso: #0846,#0843,#0861,#0844,#0845
  9733.  
  9734. Bitfields for Intel 82437VX Shared Memory Buffer control register:
  9735. Bit(s)    Description    (Table 0861)
  9736.  7-2    reserved
  9737.  1    enable shared memory buffer
  9738.  0    redirect shared memory buffer access
  9739.     =0 treat SMB area as a hole in system DRAM
  9740. SeeAlso: #0846,#0860,#0862
  9741.  
  9742. Bitfields for Intel 82437VX Graphics Controller Latency Timer:
  9743. Bit(s)    Description    (Table 0862)
  9744.  7-6    reserved
  9745.  5-3    GC latency for PCI reads (in 4 HCLK multiples) (default=100)
  9746.  2-0    GC latency for CPU and PCI writes (in 4 HCLK multiples) (default=011)
  9747. SeeAlso: #0846,#0861
  9748.  
  9749. Bitfields for Intel 82439HX Error Command register:
  9750. Bit(s)    Description    (Table 0863)
  9751.  7    SERR# duration
  9752.     =0 one PCI clock
  9753.     =1 until error flags are cleared
  9754.  6-3    reserved
  9755.  2    force bad parity on multiple-bit uncorrectable error
  9756.  1    assert SERR# on multiple-bit uncorrectable error
  9757.  0    assert SERR# on single-bit correctable error
  9758. SeeAlso: #0843,#0864
  9759.  
  9760. Bitfields for Intel 82439HX Error Status register:
  9761. Bit(s)    Description    (Table 0864)
  9762.  7-5    DRAM row associated with multi-bit error
  9763.  4    multi-bit uncorrectable error occurred (write 1 bit to clear)
  9764.  3-1    DRAM row associated with single-bit correctable error
  9765.  0    single-bit correctable error occurred (write 1 bit to clear)
  9766. SeeAlso: #0843,#0863
  9767.  
  9768. Format of PCI Configuration for Intel 82371FB/82371SB Function 0 (ISA Bridge):
  9769. Offset    Size    Description    (Table 0865)
  9770.  00h 64 BYTEs    header (see #0790)
  9771.         (vendor ID 8086h, device ID 122Eh/7000h)
  9772.         (revision ID 00h = 82371SB step A-1)
  9773.         (revision ID 01h = 82371SB step B-0)
  9774.  40h 12 BYTEs    reserved
  9775.  4Ch    BYTE    ISA I/O Controller Recovery Timer (see #0840)
  9776.  4Dh    BYTE    reserved
  9777.  4Eh    BYTE    X-Bus Chip Select Enable (see #0842)
  9778.  4Fh    BYTE    (82371SB) X-Bus Chip Select Enable High
  9779.         bit 0: I/O APIC enabled
  9780.  4Fh    BYTE    (82371FB) reserved
  9781.  50h 16 BYTEs    reserved
  9782.  60h  4 BYTEs    PCI IRQ Route Control (see #0829)
  9783.  64h  5 BYTEs    reserved
  9784.  69h    BYTE    top of memory (see #0868)
  9785.  6Ah    WORD    miscellaneous status (see #0869)
  9786.  6Ch  4 BYTEs    reserved
  9787.  70h    BYTE    motherboard IRQ Route Control 0 (see #0870)
  9788.  71h    BYTE    (82371FB) motherboard IRQ Route Control 1 (see #0870)
  9789.  72h  4 BYTEs    reserved
  9790.  76h  2 BYTEs    motherboard DMA control (see #0871)
  9791.  78h    WORD    programmable chip select control (see #0872)
  9792.  7Ah  6 BYTEs    reserved
  9793.  80h    BYTE    (82371SB) APIC Base Address Relocation (see #0831)
  9794.  81h    BYTE    reserved
  9795.  82h    BYTE    (82371SB) Deterministic Latency Control (see #0873)
  9796.  83h 29 BYTEs    reserved
  9797.  A0h    BYTE    SMI Control (see #0874)
  9798.  A1h    BYTE    reserved
  9799.  A2h    WORD    SMI Enable (see #0833)
  9800.  A4h    DWORD    System Event Enable (SEE) (see #0834)
  9801.  A8h    BYTE    Fast-Off Timer (in minutes, PCICLKs, or milliseconds)
  9802.         value is count less one; timer must be stopped before
  9803.           changing its value
  9804.  A9h    BYTE    reserved
  9805.  AAh    WORD    SMI Request (see #0835)
  9806.  ACh    BYTE    Clock Scale STPCLK# Low Timer
  9807.         STPCLK# stays low for 1+1056*(value+1) PCICLKs
  9808.  ADh    BYTE    reserved
  9809.  AEh    BYTE    Clock Scale STPCLK# High Timer
  9810.         STPCLK# stays high for 1+1056*(value+1) PCICLKs
  9811.  AFh 81 BYTEs    reserved
  9812. SeeAlso: #0866,#0867,#0817,#0836,#0846,#0843
  9813.  
  9814. Format of PCI Configuration for Intel 82371FB/82371SB Function 1 (IDE):
  9815. Offset    Size    Description    (Table 0866)
  9816.  00h 64 BYTEs    header (see #0790)
  9817.         (vender ID 8086h, device ID 1230h/7010h)
  9818.  20h    DWORD    Bus Master Interface Base Address
  9819.         (see PORT xxxxh"Intel 82371SB")
  9820.  40h    WORD    IDE timing modes, primary channel (see #0875)
  9821.  42h    WORD    IDE timing modes, secondary channel (see #0875)
  9822.  44h    BYTE    (82371SB) slave IDE timing register (see #0876)
  9823.  45h 187 BYTEs    reserved
  9824. SeeAlso: #0865,#0867,PORT xxxxh"Intel 82371SB"
  9825.  
  9826. Format of PCI Configuration for Intel 82371SB Function 2 (USB):
  9827. Offset    Size    Description    (Table 0867)
  9828.  00h 64 BYTEs    header (see #0790)
  9829.         (vendor ID 8086h, device ID 7020h)
  9830.  20h    DWORD    I/O space base address
  9831.         (see PORT xxxxh"Intel 82371SB")
  9832.  40h 32 BYTEs    reserved
  9833.  60h    BYTE    Serial Bus Specification release number
  9834.         00h pre-release 1.0
  9835.         10h Release 1.0
  9836.  61h  9 BYTEs    reserved
  9837.  6Ah    WORD    miscellaneous status (see #0877)
  9838.  6Ch 84 BYTEs    reserved
  9839.  C0h    WORD    legacy support (see #0878)
  9840.  C2h 62 BYTEs    reserved
  9841. SeeAlso: #0865,#0866,PORT xxxxh"Intel 82371SB"
  9842.  
  9843. Bitfields for Intel 82371FB/82371SB top of memory register:
  9844. Bit(s)    Description    (Table 0868)
  9845.  7-4    top of ISA memory (in megabytes, less 1; i.e. 0001 = 2M)
  9846.  3    ISA/DMA lower BIOS forwarding enable
  9847.  2    (82371SB) enable A000/B000 segment forwarding to PCI bus
  9848.  1    enable forwarding ISA/DMA 512K-640K region to PCI bus
  9849.  0    reserved
  9850. SeeAlso: #0865,#0869
  9851.  
  9852. Bitfields for Intel 82371FB/82371SB miscellaneous status register:
  9853. Bit(s)    Description    (Table 0869)
  9854.  15    (82371SB) enable SERR# on delayed transaction
  9855.     write 1 to clear this bit
  9856.  14-8    reserved
  9857.  7    (82371SB) NB Retry Enable
  9858.  6    (82371SB) EXTSMI# Mode Enable
  9859.     allow special SERR# protocol between PCI bridge and 82371
  9860.  5    reserved
  9861.  4    (82371SB) enable USB
  9862.     disable USB's master enable and I/O decode enable prior to
  9863.      clearing this bit!
  9864.  3    reserved
  9865.  2    (82371FB) PCI Header Type Bit enable
  9866.     =1 report multifunction device in PCI configuration header
  9867.  1    (82371FB) internal ISA DMA/external DMA Mode status (read-only)
  9868.     =0 normal DMA operation
  9869.  0    (82371FB) ISA Clock Divisor status (read-only)
  9870.     (82371SB) ISA Clock Divisor (read-write)
  9871.     =1 SYSCLK clock divisor is 3
  9872.     =0 SYSCLK clock divisor is 4
  9873. SeeAlso: #0865,#0868
  9874.  
  9875. Bitfields for Intel 82371FB/82371SB motherboard IRQ Route Control:
  9876. Bit(s)    Description    (Table 0870)
  9877.  7    disable IRQ routing
  9878.  6    enable MIRQx/IRQx sharing
  9879.  5    (82371SB) enable IRQ0 output
  9880.  4    reserved (0)
  9881.  3-0    ISA IRQ number to which to route the PCI IRQ
  9882. Note:    IRQs 0-2, 8, and 13 are reserved
  9883. SeeAlso: #0865,#0868,#0871
  9884.  
  9885. Bitfields for Intel 82371FB/82371SB motherboard DMA control:
  9886. Bit(s)    Description    (Table 0871)
  9887.  7    type F and DMA buffer enable
  9888.  6-4    reserved
  9889.  3    (82371FB) disable motherboadr DMA channel
  9890.  2-0    DMA channel number
  9891.     (82371FB) Type F and Motherboard DMA
  9892.     (82371SB) Type F DMA
  9893. SeeAlso: #0865,#0870
  9894.  
  9895. Bitfields for Intel 82371FB/83271SB programmable chip select control register:
  9896. Bit(s)    Description    (Table 0872)
  9897.  15-2    I/O address which will assert PCS# signal
  9898.  1-0    PCS address mask
  9899.     00 four bytes
  9900.     01 eight contiguous bytes
  9901.     10 disabled
  9902.     11 sixteen contiguous bytes
  9903. SeeAlso: #0865,#0871,#0873
  9904.  
  9905. Bitfields for Intel 82371SB Deterministic Latency Control register:
  9906. Bit(s)    Description    (Table 0873)
  9907.  7-4    reserved
  9908.  3    enable SERR# on delayed transaction timeout
  9909.  2    enable USB passive release
  9910.  1    enable passive release
  9911.  0    enable delayed transactions
  9912. SeeAlso: #0865,#0872
  9913.  
  9914. Bitfields for Intel 82371FB/82371SB SMI Control Register:
  9915. Bit(s)    Description    (Table 0874)
  9916.  7-5    reserved
  9917.  4-3    Fast-Off Timer freeze/granularity selection
  9918.     00 one minute granularity (assuming 33 MHz PCICLK)
  9919.     01 disabled (frozen)
  9920.     10 one PCICLK
  9921.     11 one millisecond
  9922.  2    STPCLK# scaling enable
  9923.     =1 enable Clock Scale bytes in PCI configuration space
  9924.  1    STPCLK# signal enable
  9925.     =1 assert STPCLK# on read from PORT 00B2h
  9926.  0    SMI# Gate
  9927.     =1 enable SMI# on system management interrupt
  9928. Notes:    bit 1 is cleared either with an explicit write of 0 here, or by any
  9929.       write to PORT 00B2h
  9930.     bit 0 does not affect the recording of SMI events, so a pending SMI
  9931.       will cause an immediate SMI# when the bit is set
  9932. SeeAlso: #0865,#0832
  9933.  
  9934. Bitfields for Intel 82371FB/82371SB IDE timing modes:
  9935. Bit(s)    Description    (Table 0875)
  9936.  15    IDE decode enable
  9937.  14    (82371SB) slave IDE timing register enable (see #0876)
  9938.  13-12    IORDY# sample point
  9939.     00 five clocks after DIOx# assertion
  9940.     01 four clocks
  9941.     10 three clocks
  9942.     11 two clocks
  9943.  11-10    reserved
  9944.  9-8    recovery time between IORDY# sample point and DIOx#
  9945.     00 four clocks
  9946.     01 three clocks
  9947.     10 two clocks
  9948.     11 one clock
  9949.  7    DMA timing enable only, drive 1
  9950.  6    prefetch and posting enable, drive 1
  9951.  5    IORDY# sample point enable drive select 1
  9952.  4    fast timing bank drive select 1
  9953.  3    DMA timing enable only, drive 0
  9954.  2    prefetch and posting enable, drive 0
  9955.  1    IORDY# sample point enable drive select 0
  9956.  0    fast timing bank drive select 0
  9957. SeeAlso: #0866
  9958.  
  9959. Bitfields for Intel 82371SB slave IDE timing register:
  9960. Bit(s)    Description    (Table 0876)
  9961.  7-6    secondary drive 1 IORDY# sample point
  9962.     00 five clocks after DIOx# assertion
  9963.     01 four clocks
  9964.     10 three clocks
  9965.     11 two clocks
  9966.  5-4    secondary drive 1 recovery time
  9967.     00 four clocks
  9968.     01 three clocks
  9969.     10 two clocks
  9970.     11 one clock
  9971.  3-2    primary drive 1 IORDY# sample point
  9972.  1-0    primary drive 1 recovery time
  9973. SeeAlso: #0875
  9974.  
  9975. Bitfields for Intel 82371SB miscellaneous status:
  9976. Bit(s)    Description    (Table 0877)
  9977.  15-1    reserved
  9978.  0    USB clock selection
  9979.     =1 48 MHz
  9980.     =0 24 MHz
  9981. SeeAlso: #0867,#0878
  9982.  
  9983. Bitfields for Intel 82371SB legacy support register:
  9984. Bit(s)    Description    (Table 0878)
  9985.  15    A20GATE pass-through sequence ended
  9986.     write 1 to clear this bit
  9987.  14    reserved
  9988.  13    USB PIRQ enabled
  9989.  12    USR IRQ status (read-only)
  9990.  11    trap caused by write to PORT 0064h
  9991.     write 1 to clear this bit
  9992.  10    trap caused by read from PORT 0064h
  9993.     write 1 to clear this bit
  9994.  9    trap caused by write to PORT 0060h
  9995.     write 1 to clear this bit
  9996.  8    trap caused by read from PORT 0060h
  9997.     write 1 to clear this bit
  9998.  7    enable SMI at end of A20GATE Pass-Through
  9999.  6    A20GATE pass-through sequence in progress (read-only)
  10000.  5    enable A20GATE pass-through sequence
  10001.     (write PORT 64h,D1h; write 60h,xxh; read 64h; write 64h,FFh)
  10002.  4    enable trap/SMI on USB IRQ
  10003.  3    enable trap/SMI on PORT 0064h write
  10004.  2    enable trap/SMI on PORT 0064h read
  10005.  1    enable trap/SMI on PORT 0060h write
  10006.  0    enable trap/SMI on PORT 0060h read
  10007. SeeAlso: #0867,#0877
  10008.  
  10009. Format of PCI Configuration Data for Intel 82441FX:
  10010. Offset    Size    Description    (Table 0879)
  10011.  00h 64 BYTEs    header (see #0790)
  10012.         (vendor ID 8086h, device ID 1237h) (see #0785)
  10013.  40h 16 BYTEs    reserved
  10014.  50h    WORD    PMC Configuration (see #0880)
  10015.  52h    BYTE    deturbo counter control
  10016.         when deturbo mode is selected (see PORT 0CF9h), the chipset
  10017.           places a hold on the memory bus for a fraction of the
  10018.           time inversely proportional to the value in this register
  10019.           (i.e. C0h = 1/4, 80h = 1/2, 40h = 3/4, 20h = 7/8, etc.)
  10020.  53h    BYTE    DBX buffer control (see #0881)
  10021.  54h    BYTE    auxiliary control (see #0882)
  10022.  55h    WORD    DRAM Row Type (see #0883)
  10023.  57h    BYTE    DRAM Control (see #0884)
  10024.  58h    BYTE    DRAM Timing (see #0885)
  10025.  59h  7 BYTEs    Programmable Attribute Map registers 0-6 (see #0856)
  10026.  60h  8 BYTEs    DRAM Row Buondary registers 0-7
  10027.         each register N indicates cumulative amount of memory in rows
  10028.           0-N (each 64 bits wide), in 8M units
  10029.  68h    BYTE    Fixed DRAM Hole Control
  10030.  69h  7 BYTEs    reserved
  10031.  70h    BYTE    Multi-Transaction Timer
  10032.         number of PCLKs guaranteed to the current agent before the
  10033.           82441 will grant the bus to another PCI agent on request
  10034.  71h    BYTE    CPU Latency Timer (see #0886)
  10035.  72h    BYTE    System Management RAM control (see #0860)
  10036.  73h 29 BYTEs    reserved
  10037.  90h    BYTE    Error Command (see #0887)
  10038.  91h    BYTE    Error Status (see #0888)
  10039.  92h    BYTE    reserved
  10040.  93h    BYTE    Turbo Reset Control (see #0889)
  10041.  94h 108 BYTEs    reserved
  10042. SeeAlso: #0843,#0846
  10043.  
  10044. Bitfields for Intel 82441FX PMC Configuration Register:
  10045. Bit(s)    Description    (Table 0880)
  10046.  15    WSC Protocol Enable
  10047.  14    Row Select/Extra Copy select (read-only)
  10048.     =1 pins on PMC configured as two additional row selects (6/7)
  10049.     =0 extra copy of two lowest memory address bits enabled
  10050.  13-10    reserved
  10051.  9-8    host frequence select
  10052.     00 reserved
  10053.     01 60 MHz
  10054.     10 66 MHz
  10055.     11 reserved
  10056.  7    reserved
  10057.  6    ECC/Parity TEST enable
  10058.  5-4    DRAM Data Integrity Mode
  10059.     00 no parity/ECC
  10060.     01 parity generated and checked
  10061.     10 ECC generated and checked, correction disabled
  10062.     10 ECC generated and checked, correction enabled
  10063.  3    reserved
  10064.  2    In-Order Queue size (0=one, 1=four)
  10065.  1-0    reserved
  10066. SeeAlso: #0879,#0881
  10067.  
  10068. Bitfields for Intel 82441FX DBX buffer control register:
  10069. Bit(s)    Description    (Table 0881)
  10070.  7    enable delayed transactions
  10071.  6    enable CPU-to-PCI IDE posting
  10072.  5    enable USWC Write Post during I/O Bridge access
  10073.  4    disable PCI Delayed Transaction timer
  10074.  3    enable CPU-to-PCI Write Post
  10075.  2    enable PCI-to-DRAM pipeline
  10076.  1    enable PCI Burst Write Combining
  10077.  0    enable Read-Around-Write
  10078. SeeAlso: #0879,#0880
  10079.  
  10080. Bitfields for Intel 82441FX auxiliary control register:
  10081. Bit(s)    Description    (Table 0882)
  10082.  7    enable RAS precharge
  10083.  6-2    reserved
  10084.  1    Lower Memory Address Buffer Set A
  10085.     =0 8mA
  10086.     =1 12mA
  10087.  0    reserved
  10088. SeeAlso: #0879
  10089.  
  10090. Bitfields for Intel 82441FX DRAM Row Type register:
  10091. Bit(s)    Description    (Table 0883)
  10092.  15-14    row 7 DRAM type
  10093.  13-12    row 6 DRAM type
  10094.  11-10    row 5 DRAM type
  10095.  9-8    row 4 DRAM type
  10096.  7-6    row 3 DRAM type
  10097.  5-4    row 2 DRAM type
  10098.  3-2    row 1 DRAM type
  10099.  1-0    row 0 DRAM type
  10100.     00 fast page-mode DRAM
  10101.     01 EDO DRAM
  10102.     10 BEDO DRAM
  10103.     11 empty row
  10104. SeeAlso: #0879,#0884
  10105.  
  10106. Bitfields for Intel 82441FX DRAM Control register:
  10107. Bit(s)    Description    (Table 0884)
  10108.  7    reserved
  10109.  6    enable DRAM Refresh Queue
  10110.  5    enable DRAM EDO Auto-Detect Mode
  10111.  4    DRAM Refresh Type
  10112.     =0 CAS before RAS
  10113.     =1 RAS only
  10114.  3    reserved
  10115.  2-0    DRAM refresh rate
  10116.     000 disabled
  10117.     001 normal (as set by PMCCFG register)
  10118.     01x reserved
  10119.     1xx reserved
  10120.     111 fast refresh (every 32 host clocks)
  10121. SeeAlso: #0879,#0883,#0885
  10122.  
  10123. Bitfields for Intel 82441FX DRAM Timing register:
  10124. Bit(s)    Description    (Table 0885)
  10125.  7    reserved
  10126.  6    enable WCBR Mode
  10127.  5-4    DRAM Read Burst Timing
  10128.         BEDO    EDO    FPM
  10129.     00    x333    x444    x444
  10130.     01    x222    x333    x444
  10131.     10    x222    x222    x333
  10132.     11    res.    res.    res.
  10133.  3-2    DRAM Write Burst Timing
  10134.         (B)EDO    FPM
  10135.     00    x444    x444
  10136.     01    x333    x444
  10137.     10    x333    x333
  10138.     11    x222    x333
  10139.  1    RAS-to-CAS delay
  10140.     =1 one clock
  10141.     =0 zero clocks
  10142.  0    insert one MA Wait State
  10143. SeeAlso: #0879,#0884
  10144.  
  10145. Bitfields for Intel 82441FX CPU Latency Timer register:
  10146. Bit(s)    Description    (Table 0886)
  10147.  7-5    reserved
  10148.  4-0    snoop stall count value
  10149. SeeAlso: #0879
  10150.  
  10151. Bitfields for Intel 82441FX Error Command register:
  10152. Bit(s)    Description    (Table 0887)
  10153.  7-5    reserved
  10154.  4    enable SERR# on receiving Target Abort
  10155.  3    enable SERR# on PCI Parity Error (PERR#)
  10156.  2    reserved
  10157.  1    enable SERR# on receiving multiple-bit ECC/Parity error
  10158.  0    enable SERR# on receiving single-bit ECC error
  10159. SeeAlso: #0879,#0888
  10160.  
  10161. Bitfields for Intel 82441FX Error Status register:
  10162. Bit(s)    Description    (Table 0888)
  10163.  7-5    DRAM row causing first multi-bit error (read-only)
  10164.  4    multiple-bit uncorrectable error detected
  10165.     write 1 to this bit to clear it
  10166.  3-1    DRAM row causing first single-bit error (read-only)
  10167.  0    single-bit correctable ECC error detected
  10168.     write 1 to this bit to clear it
  10169. SeeAlso: #0879,#0887
  10170.  
  10171. Bitfields for Intel 82441FX Turbo Reset Control register:
  10172. Bit(s)    Description    (Table 0889)
  10173.  7-4    reserved
  10174.  3    enable BIST on hard reset
  10175.  2    reset CPU
  10176.  1    reset mode
  10177.     0 soft reset
  10178.     1 hard reset
  10179.  0    deturbo mode
  10180. SeeAlso: #0879,PORT 0CF9h
  10181.  
  10182. Format of PC Technology RZ-1000 EIDE controller:
  10183. Offset    Size    Description    (Table 0890)
  10184.  00h 64 BYTEs    header (see #0790)
  10185.         (vendor ID 1042h, device ID 1000h)
  10186.  10h    DWORD    base address for controller I/O registers
  10187.         (set to 01F1h for primary controller, 0171h for secondary)
  10188.  14h    DWORD    base address for controller digital I/O port
  10189.         (set to 03F5h for primary, 0375h for secondary)
  10190.  40h    DWORD    ???
  10191.         bits 7-1: ???
  10192.         bit 16: ???
  10193.  44h    DWORD    ???
  10194.  48h  8 BYTEs    ???
  10195.  50h 176 BYTEs    unused???
  10196.  
  10197. Format of OpenHCI Host Controller memory-mapped registers:
  10198. Offset    Size    Description    (Table 0891)
  10199.  00h    DWORD    "HcRevision"        OpenHCI revision (see #0892)
  10200.  04h    DWORD    "HcControl"        HC operating modes (see #0893)
  10201.  08h    DWORD    "HcCommandStatus"    command/status (see #0894)
  10202.  0Ch    DWORD    "HcInterruptStatus"    interrupt status (see #0895)
  10203.  10h    DWORD    "HcInterruptEnable"    enable interrupts (see #0896)
  10204.  14h    DWORD    "HcInterruptDisable"    disable interrupts (see #0896)
  10205.  18h    DWORD    "HcHCCA"        HC Communications Area (see #0897)
  10206.  1Ch    DWORD    "HcPeriodCurrentED"    Endpoint Descriptor addr (see #0898)
  10207.  20h    DWORD    "HcControlHeadED"    Control Endpoint Descriptor (see #0899)
  10208.  24h    DWORD    "HcControlCurrentED"    Control Endpoint Descriptor (see #0899)
  10209.  28h    DWORD    "HcBulkHeadED"        Bulk Endpoint Descriptor (see #0900)
  10210.  2Ch    DWORD    "HcBulkCurrentED"    Bulk Endpoint Descriptor (see #0900)
  10211.  30h    DWORD    "HcDoneHead"        last completed Xfer Descr. (see #0901)
  10212.  34h    DWORD    "HcFmInterval"        Frame bit-time interval (see #0902)
  10213.  38h    DWORD    "HcFmRemaining"        bit time remaining in Frame (see #0903)
  10214.  3Ch    DWORD    "HcFmNumber"        Frame Number (bits 15-0)
  10215.  40h    DWORD    "HcPeriodicStart"    earliest time to start periodic list
  10216.                     (bits 13-0)
  10217.  44h    DWORD    "HcLSThreshold"        threshold for Low Speed transaction
  10218.                     (bits 11-0)
  10219.  48h    DWORD    "HcRhDescriptorA"    Root Hub Descriptor A (see #0904)
  10220.  4Ch    DWORD    "HcRhDescriptorB"    Root Hub Descriptor B (see #0905)
  10221.  50h    DWORD    "HcRhStatus"        Root Hub status (see #0906)
  10222.  54h  N DWORDs    "HCRhPortStatus[1-N]"    Root Hub port status N (see #0907)
  10223. Note:    OpenHCI reserves a full 4K page of the systems address space for its
  10224.       memory-mapped registers
  10225. SeeAlso: #0790,#0794,#F059
  10226.  
  10227. Bitfields for OpenHCI "HcRevision" register:
  10228. Bit(s)    Description    (Table 0892)
  10229.  31-8    reserved
  10230.  7-0    BCD OpenHCI specification number (10h = 1.0, 11h = 1.1)
  10231. Note:    this register is read-only
  10232. SeeAlso: #0891,#0893
  10233.  
  10234. Bitfields for OpenHCI "HcControl" register:
  10235. Bit(s)    Description    (Table 0893)
  10236.  31-11    reserved
  10237.  10    RWE    enable Remote Wakeup feature
  10238.  9    RWC    controller supports Remote Wakeup signalling
  10239.  8    IR    Interrupt Routing
  10240.         0 normal host bus interrupt
  10241.         1 System Managment Interrupt
  10242.  7-6    HCFS    USB Host Controller Functional State
  10243.         00 USBReset
  10244.         01 USBResume
  10245.         10 USBOperational
  10246.         11 USBSuspend
  10247.  5    BLE    enable Bulk List processing in next frame
  10248.  4    CLE    enable Control List processing in next frame
  10249.  3    IE    enable Isochronous ED processing
  10250.  2    PLE    enable processing of Periodic List in next frame
  10251.  1-0    CBSR    Control Bulk Service Ratio
  10252.         00  1:1 Control EDs:Bulk EDs served
  10253.         01  2:1
  10254.         10  3:1
  10255.         11  4:1
  10256. SeeAlso: #0891,#0892,#0894
  10257.  
  10258. Bitfields for OpenHCI "HcCommandStatus" register:
  10259. Bit(s)    Description    (Table 0894)
  10260.  31-18    reserved
  10261.  17-16    SOC    scheduling-overrun count
  10262.  15-4    reserved
  10263.  3    OCR    ownership change request is pending
  10264.  2    BLF    bulk list contains TDs
  10265.  1    CLF    control list contains TDs
  10266.  0    HCR    host controller software reset
  10267. Note:    writing a 1 bit sets the corresponding bit, while a 0 bit leaves the
  10268.       corresponding bit unchanged
  10269. SeeAlso: #0891,#0892,#0895
  10270.  
  10271. Bitfields for OpenHCI "HcInterruptStatus" register:
  10272. Bit(s)    Description    (Table 0895)
  10273.  31    reserved (0)
  10274.  30    OC    ownership change
  10275.  29-7    reserved
  10276.  6    RHSC    Root Hub status changed
  10277.  5    FNO    frame number overflowed
  10278.  4    UE    unrecoverable error
  10279.  3    RD    resume detected
  10280.  2    SF    start of frame
  10281.  1    WDH    writeback done
  10282.  0    SO    scheduling overrun
  10283. Note:    writing a 1 bit clears the corresponding bit of the register
  10284. SeeAlso: #0891,#0892,#0894,#0896
  10285.  
  10286. Bitfields for OpenHCI "HcInterruptEnable" and "HcInterruptDisable" registers:
  10287. Bit(s)    Description    (Table 0896)
  10288.  31    MIE    master interrupt enable
  10289.  30    OC    ownership change
  10290.  29-7    reserved
  10291.  6    RHSC    Root Hub status change
  10292.  5    FNO    frame number overflow
  10293.  4    UE    unrecoverable error
  10294.  3    RD    Resume Detect
  10295.  2    SF    start of frame
  10296.  1    WDH    HcDoneHead writeback
  10297.  0    SO    scheduling overrun
  10298. Note:    writing a 1 bit to HcInterruptEnable enables the corresponding
  10299.       interrupt, while writing a 1 bit to HcInterruptDisable disables it;
  10300.       zero bits are ignored.  On reading, both registers return the
  10301.       same value, which reflects the currently enabled interrupts
  10302. SeeAlso: #0891
  10303.  
  10304. Bitfields for OpenHCI "HcHCCA" register:
  10305. Bit(s)    Description    (Table 0897)
  10306.  31-8    physical address of Host Controller Communications Area (bits 31-8)
  10307.  7-0    reserved (0)
  10308. Note:    the required alignment for the HCCA may be determined by writing
  10309.       FFFFFFFFh to this register and determining the number of low-order
  10310.       zero bits
  10311. SeeAlso: #0891,#0898,#0899
  10312.  
  10313. Bitfields for OpenHCI "HcPeriodCurrentED" register:
  10314. Bit(s)    Description    (Table 0898)
  10315.  31-4    physical address of current Isochronous/Interrupt Endpoint Descriptor
  10316.       (bits 31-4)
  10317.  3-0    reserved (0)
  10318. SeeAlso: #0891,#0897,#0899
  10319.  
  10320. Bitfields for OpenHCI "HcControlHeadED"/"HcControlCurrentED" register:
  10321. Bit(s)    Description    (Table 0899)
  10322.  31-4    physical address of first/current Endpoint Descriptor (bits 31-4)
  10323.  3-0    reserved (0)
  10324. Note:    HcControlCurrentED is set to 0000000h to indicate the end of the
  10325.       Control list
  10326. SeeAlso: #0891,#0897,#0898
  10327.  
  10328. Bitfields for OpenHCI "HcBulkHeadED"/"HcBulkCurrentED" register:
  10329. Bit(s)    Description    (Table 0900)
  10330.  31-4    physical address of first/current Endpoint Descriptor in the Bulk
  10331.       list (bits 31-4)
  10332.  3-0    reserved (0)
  10333. Note:    HcBulkCurrentED is set to 0000000h to indicate the end of the Bulk
  10334.       list
  10335. SeeAlso: #0891,#0897,#0899
  10336.  
  10337. Bitfields for OpenHCI "HcDoneHead" register:
  10338. Bit(s)    Description    (Table 0901)
  10339.  31-4    physical address of most-recently completed Transfer Descriptor added
  10340.       to the Done queue (bits 31-4)
  10341.  3-0    reserved (0)
  10342. SeeAlso: #0891,#0898,#0900
  10343.  
  10344. Bitfields for OpenHCI "HcFmInterval" register:
  10345. Bit(s)    Description    (Table 0902)
  10346.  31    "FIT"    toggled each time a new value is loaded into bits 13-0
  10347.  30-16    "FSMPS"    largest data packet in bits
  10348.  15-14    reserved
  10349.  13-0    "FI"    Frame Interval (between to consecutive SOFs)
  10350. SeeAlso: #0891,#0903
  10351.  
  10352. Bitfields for OpenHCI "HcFmRemaining" register:
  10353. Bit(s)    Description    (Table 0903)
  10354.  31    "FRT"    loaded from bit 31 of HcFmInterval whenever FR reaches 0
  10355.  30-14    reserved
  10356.  13-0    "FR"    FrameRemaining -- bits times left in current frame
  10357. SeeAlso: #0891,#0902
  10358.  
  10359. Bitfields for OpenHCI "HcRhDescriptorA" register:
  10360. Bit(s)    Description    (Table 0904)
  10361.  31-24    "POTPGT" power-on to power-good time in 2ms units
  10362.  23-13    reserved
  10363.  12    "NOCP"    no over-current protection supported
  10364.  11    "OCPM"    over-current status reported per-port
  10365.  10    "DT"    device type - is root hub compound device?
  10366.  9    "NPS"    NoPowerSwitching -- ports are always powered up
  10367.  8    "PSM"    power-switching mode -- if set, each port powered individually
  10368.  7-0    "NDP"    number of downstream ports
  10369. SeeAlso: #0891,#0905,#0906
  10370.  
  10371. Bitfields for OpenHCI "HcRhDescriptorB" register:
  10372. Bit(s)    Description    (Table 0905)
  10373.  31-16    "PPCM"    PortPowerControlMask -- bitmask of ports NOT affected by global
  10374.           power control (bit 16 [port #0] is reserved)
  10375.  15-0    "DR"    DeviceRemovable -- bitmap of removable devices
  10376. SeeAlso: #0891,#0904,#0906
  10377.  
  10378. Bitfields for OpenHCI "HcRhStatus" register:
  10379. Bit(s)    Description    (Table 0906)
  10380.  31    "CRWE"    Clear Remote Wakeup Enable
  10381.         write 1 to disable remote wakeup (writes of 0 ignored)
  10382.  30-18    reserved
  10383.  17    "OCIC"    OverCurrent Indicator Change
  10384.         write 1 to clear
  10385.  16   R    "LPSC"    Local Power Status Change
  10386.       W        Set Global Power mode (write 1; writes of 0 ignored)
  10387.  15    "DRWE"    Device Remote Wakeup Enable
  10388.         write 1 to enable (writes of 0 ignored)
  10389.         read to get current status
  10390.  14-2    reserved
  10391.  1    "OCI"    OverCurrent Indicator
  10392.  0    R "LPS"    LocalPowerStatus (always 0 for Root Hub)
  10393.       W        write 1 to turn off power to all ports/ports with clear
  10394.           PortPowerControlMask bits
  10395. SeeAlso: #0891,#0904,#0905,#0907
  10396.  
  10397. Bitfields for OpenHCI "HcRhPortStatusN" register:
  10398. Bit(s)    Description    (Table 0907)
  10399.  31-21    reserved
  10400.  20    "PRSC"    Port Reset Status Change (write '1' to clear)
  10401.  19    "OCIC"    Port OverCurrent Indiactor Change (write '1' to clear)
  10402.  18    "PSSC"    Port Suspend Status Change (write '1' to clear)
  10403.  17    "PESC"    Port Enable Status Change (write '1' to clear)
  10404.  16    "CSC"    Connect Status Change (write '1' to clear)
  10405.  15-10    reserved
  10406.  9    R    "LSDA"    Low Speed Device Attached
  10407.       W        clear port power by writing '1'
  10408.  8    R    "PPS"    Port Power Status
  10409.       W        set port power by writing '1'
  10410.  7-5    reserved
  10411.  4    R    "PRS"    Port Reset Status
  10412.       W        set port reset by writing '1'
  10413.  3    R    "POCI"    Port OverCurrent Indicator
  10414.       W        clear suspend status by writing '1'
  10415.  2    R    "PSS"    Port Suspend Status
  10416.       W        set port suspend by writing '1'
  10417.  1    R "PES"    Port Enable Status
  10418.       W        set port enable by writing '1'
  10419.  0    R "CCS"    current connect status
  10420.       W        clear port enable by writing '1'
  10421. SeeAlso: #0891,#0904,#0905,#0906
  10422. --------X-1AB10B-----------------------------
  10423. INT 1A - Intel PCI BIOS v2.0c+ - WRITE CONFIGURATION BYTE
  10424.     AX = B10Bh
  10425.     BH = bus number
  10426.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10427.     DI = register number (0000h-00FFh)
  10428.     CL = byte to write
  10429. Return: CF clear if successful
  10430.     CF set on error
  10431.     AH = status (00h,87h) (see #0646)
  10432.     EAX, EBX, ECX, and EDX may be modified
  10433.     all other flags (except IF) may be modified
  10434. Notes:    this function may require up to 1024 byte of stack; it will not enable
  10435.       interrupts if they were disabled before making the call
  10436.     the meanings of BL and BH on entry were exchanged between the initial
  10437.       drafts of the specification and final implementation
  10438. SeeAlso: AX=B108h,AX=B10Ch,AX=B10Dh,AX=B18Bh,INT 2F/AX=1684h/BX=304Ch
  10439. --------X-1AB10C-----------------------------
  10440. INT 1A - Intel PCI BIOS v2.0c+ - WRITE CONFIGURATION WORD
  10441.     AX = B10Ch
  10442.     BH = bus number
  10443.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10444.     DI = register number (multiple of 2 less than 0100h)
  10445.     CX = word to write
  10446. Return: CF clear if successful
  10447.     CF set on error
  10448.     AH = status (00h,87h) (see #0646)
  10449.     EAX, EBX, ECX, and EDX may be modified
  10450.     all other flags (except IF) may be modified
  10451. Notes:    this function may require up to 1024 byte of stack; it will not enable
  10452.       interrupts if they were disabled before making the call
  10453.     the meanings of BL and BH on entry were exchanged between the initial
  10454.       drafts of the specification and final implementation
  10455. SeeAlso: AX=B109h,AX=B10Bh,AX=B10Dh,AX=B18Ch,INT 2F/AX=1684h/BX=304Ch
  10456. --------X-1AB10D-----------------------------
  10457. INT 1A - Intel PCI BIOS v2.0c+ - WRITE CONFIGURATION DWORD
  10458.     AX = B10Dh
  10459.     BH = bus number
  10460.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10461.     DI = register number (multiple of 4 less than 0100h)
  10462.     ECX = dword to write
  10463. Return: CF clear if successful
  10464.     CF set on error
  10465.     AH = status (00h,87h) (see #0646)
  10466.     EAX, EBX, ECX, and EDX may be modified
  10467.     all other flags (except IF) may be modified
  10468. Notes:    this function may require up to 1024 byte of stack; it will not enable
  10469.       interrupts if they were disabled before making the call
  10470.     the meanings of BL and BH on entry were exchanged between the initial
  10471.       drafts of the specification and final implementation
  10472. SeeAlso: AX=B10Ah,AX=B10Bh,AX=B10Ch,AX=B18Dh,INT 2F/AX=1684h/BX=304Ch
  10473. --------X-1AB10EBX0000-----------------------
  10474. INT 1A - Intel PCI BIOS v2.1+ - GET IRQ ROUTING INFORMATION
  10475.     AX = B10Eh
  10476.     BX = 0000h
  10477.     DS = segment/selector for PCI BIOS data
  10478.         (real mode: F000h; 16-bit PM: physical 000F0000h; 32-bit PM: as
  10479.         specified by BIOS32 services directory)
  10480.     ES:(E)DI -> IRQ routing table header (see #0924 at AX=B406h)
  10481. Return: CF clear if successful
  10482.         AH = 00h
  10483.         BX = bit map of IRQ channels permanently dedicated to PCI
  10484.         WORD ES:[DI] = size of returned data
  10485.     CF set on error
  10486.         AH = error code (59h) (see #0908)
  10487.         WORD ES:[DI] = required size of buffer
  10488. SeeAlso: AX=B10Fh,AX=B406h,INT 2F/AX=1684h/BX=304Ch
  10489. --------X-1AB10F-----------------------------
  10490. INT 1A - Intel PCI BIOS v2.1+ - SET PCI IRQ
  10491.     AX = B10Fh
  10492.     BH = bus number
  10493.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10494.     CH = number of IRQ to connect
  10495.     CL = number of interrupt pin (0Ah=INTA# to 0Dh=INTD#) to reprogram
  10496.     DS = segment/selector for PCI BIOS data
  10497.         (real mode: F000h; 16-bit PM: physical 000F0000h; 32-bit PM: as
  10498.         specified by BIOS32 services directory)
  10499. Return: CF clear if successful
  10500.         AH = 00h
  10501.     CF set on error
  10502.         AH = error code (59h) (see #0908)
  10503. Note:    assumes that the calling application has determined the IRQ routing
  10504.       topology (see AX=B10Eh), has ensured that the selected IRQ will not
  10505.       cause a conflict, and will update the interrupt line configuration
  10506.       register on all devices which currently use the IRQ line
  10507. SeeAlso: AX=B10Eh
  10508. --------X-1AB181-----------------------------
  10509. INT 1A - Intel PCI BIOS v2.0c+ - INSTALLATION CHECK (32-bit)
  10510.     AX = B181h
  10511. Return: as for AX=B101h
  10512. SeeAlso: AX=B101h
  10513. --------X-1AB182-----------------------------
  10514. INT 1A - Intel PCI BIOS v2.0c+ - FIND PCI DEVICE (32-bit)
  10515.     AX = B182h
  10516.     CX = device ID (see #0652,#0658,#0659,#0785,#0787)
  10517.     DX = vendor ID (see #0649 at AX=B102h)
  10518.     SI = device index (0-n)
  10519. Return: as for AX=B102h
  10520. SeeAlso: AX=B102h
  10521. --------X-1AB183-----------------------------
  10522. INT 1A - Intel PCI BIOS v2.0c+ - FIND PCI CLASS CODE (32-bit)
  10523.     AX = B183h
  10524.     ECX = class code (bits 23-0)
  10525.     SI = device index (0-n)
  10526. Return: as for AX=B103h
  10527. SeeAlso: AX=B103h
  10528. --------X-1AB186-----------------------------
  10529. INT 1A - Intel PCI BIOS v2.0c+ - PCI BUS-SPECIFIC OPERATIONS (32-bit)
  10530.     AX = B186h
  10531.     BH = bus number
  10532.     EDX = Special Cycle data
  10533. Return: as for AX=B106h
  10534. Note:    the meanings of BL and BH on return were exchanged between the initial
  10535.       drafts of the specification and final implementation
  10536. SeeAlso: AX=B106h
  10537. --------X-1AB188-----------------------------
  10538. INT 1A - Intel PCI BIOS v2.0c+ - READ CONFIGURATION BYTE (32-bit)
  10539.     AX = B188h
  10540.     BH = bus number
  10541.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10542.     DI = register number (0000h-00FFh)
  10543. Return: as for AX=B108h
  10544. Note:    the meanings of BL and BH on return were exchanged between the initial
  10545.       drafts of the specification and final implementation
  10546. SeeAlso: AX=B108h,AX=B189h,AX=B18Ah
  10547. --------X-1AB189-----------------------------
  10548. INT 1A - Intel PCI BIOS v2.0c+ - READ CONFIGURATION WORD (32-bit)
  10549.     AX = B189h
  10550.     BH = bus number
  10551.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10552.     DI = register number (0000h-00FFh)
  10553. Return: as for AX=B109h
  10554. Note:    the meanings of BL and BH on return were exchanged between the initial
  10555.       drafts of the specification and final implementation
  10556. SeeAlso: AX=B109h,AX=B188h,AX=B18Ah
  10557. --------X-1AB18A-----------------------------
  10558. INT 1A - Intel PCI BIOS v2.0c+ - READ CONFIGURATION DWORD (32-bit)
  10559.     AX = B18Ah
  10560.     BH = bus number
  10561.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10562.     DI = register number (0000h-00FFh)
  10563. Return: as for AX=B10Ah
  10564. Note:    the meanings of BL and BH on return were exchanged between the initial
  10565.       drafts of the specification and final implementation
  10566. SeeAlso: AX=B10Ah,AX=B188h,AX=B189h
  10567. --------X-1AB18B-----------------------------
  10568. INT 1A - Intel PCI BIOS v2.0c+ - WRITE CONFIGURATION BYTE (32-bit)
  10569.     AX = B18Bh
  10570.     BH = bus number
  10571.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10572.     DI = register number (0000h-00FFh)
  10573.     CL = byte to write
  10574. Return: as for AX=B10Bh
  10575. Note:    the meanings of BL and BH on return were exchanged between the initial
  10576.       drafts of the specification and final implementation
  10577. SeeAlso: AX=B10Bh,AX=B18Ch,AX=B18Dh
  10578. --------X-1AB18C-----------------------------
  10579. INT 1A - Intel PCI BIOS v2.0c+ - WRITE CONFIGURATION WORD (32-bit)
  10580.     AX = B18Ch
  10581.     BH = bus number
  10582.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10583.     DI = register number (multiple of 2 less than 0100h)
  10584.     CX = word to write
  10585. Return: as for AX=B10Ch
  10586. Note:    the meanings of BL and BH on return were exchanged between the initial
  10587.       drafts of the specification and final implementation
  10588. SeeAlso: AX=B10Ch,AX=B18Bh,AX=B18Dh
  10589. --------X-1AB18D-----------------------------
  10590. INT 1A - Intel PCI BIOS v2.0c+ - WRITE CONFIGURATION DWORD (32-bit)
  10591.     AX = B18Dh
  10592.     BH = bus number
  10593.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10594.     DI = register number (multiple of 4 less than 0100h)
  10595.     ECX = dword to write
  10596. Return: as for AX=B10Dh
  10597. Note:    the meanings of BL and BH on return were exchanged between the initial
  10598.       drafts of the specification and final implementation
  10599. SeeAlso: AX=B10Dh,AX=B18Bh,AX=B18Ch
  10600. --------X-1AB18EBX0000-----------------------
  10601. INT 1A - Intel PCI BIOS v2.1+ - GET IRQ ROUTING INFORMATION (32-bit)
  10602.     AX = B18Eh
  10603.     BX = 0000h
  10604.     DS = segment/selector for PCI BIOS data
  10605.         (real mode: F000h; 16-bit PM: physical 000F0000h; 32-bit PM: as
  10606.         specified by BIOS32 services directory)
  10607.     ES:(E)DI -> IRQ routing table header (see #0924 at AX=B406h)
  10608. Return: CF clear if successful
  10609.         AH = 00h
  10610.         BX = bit map of IRQ channels permanently dedicated to PCI
  10611.         WORD ES:[DI] = size of returned data
  10612.     CF set on error
  10613.         AH = error code (59h) (see #0908)
  10614.         WORD ES:[DI] = required size of buffer
  10615. SeeAlso: AX=B10Fh,AX=B406h,INT 2F/AX=1684h/BX=304Ch
  10616. --------X-1AB18F-----------------------------
  10617. INT 1A - Intel PCI BIOS v2.1+ - SET PCI IRQ (32-bit)
  10618.     AX = B18Fh
  10619.     BH = bus number
  10620.     BL = device/function number (bits 7-3 device, bits 2-0 function)
  10621.     CH = number of IRQ to connect
  10622.     CL = number of interrupt pin (0Ah=INTA# to 0Dh=INTD#) to reprogram
  10623.     DS = segment/selector for PCI BIOS data
  10624.         (real mode: F000h; 16-bit PM: physical 000F0000h; 32-bit PM: as
  10625.         specified by BIOS32 services directory)
  10626. Return: CF clear if successful
  10627.         AH = 00h
  10628.     CF set on error
  10629.         AH = error code (59h) (see #0908)
  10630. Note:    assumes that the calling application has determined the IRQ routing
  10631.       topology (see AX=B10Eh), has ensured that the selected IRQ will not
  10632.       cause a conflict, and will update the interrupt line configuration
  10633.       register on all devices which currently use the IRQ line
  10634. SeeAlso: AX=B10Eh
  10635. --------!---Section--------------------------
  10636.